VF程序设计经典例题

合集下载

VF程序设计(含答案)

VF程序设计(含答案)

2014年春季学期 《VF 程序设计》试卷A一、单项选择题(每空1分,共35分)1.表单的NAME 属性是____。

A.显示在表单标题栏中的名称B.运行表单程序时的程序名C.保存表单时的文件名 D .引用表单对象时的名称2.在VFP6.0中,将字符型数据转换成日期型数据的函数是____。

A .DTOC() B .CTOD() C . DA TE() D . STR()3. 执行命令INPUT ”请输入数据:”TO XYZ 时,可以通过键盘输入的内容包括_____ A) 字符串 B) 数值和字符串C) 数值、字符串和逻辑值 D) 数值、字符串、逻辑值和表达式 4.下列四组基类中,同一组中各个基类全是容器型的是____。

A.Grid,Column,TextBoxmandButton,OptionGroup,ListBoxmandGroup,DataEnvironment,HeaderD.Form,PageFrame,Column 5.字段的默认值保存在____ A.表的索引文件中 B .数据库文件中 C.项目文件中 D .表文件中 6.下列叙述中含有错误的是____。

A.一个数据库表只能设置一个主索引 B.唯一索引不允许索引表达式有重复值C.候选索引既可以用于数据库表也可以用于自由表D.候选索引不允许索引表达式有重复值 7.表移出数据库后,仍然有效的是____ A.记录的验证规则 B .表的验证规则C.字段的默认值D.结构复合索引中的候选索引8.菜单文件经过生成以后形成的菜单程序文件的扩展名是____ A.MPR B.MNX C.MPX D.MND 9.下列叙述中含有错误的是____。

A.一个表可以有多个外部关键字 B.数据库表可以设置记录级的有效性规则C.永久性关系建立后,主表记录指针移动将使子表记录指针相应移动D.对于临时性关系,一个表不允许有多个主表 10.下列对象中,属于容器类的是____A.文本框 B .组合框 C .页框 D.选项按钮11.对于自由表而言,不能创建的索引类型是____。

VF考试 程序设计题

VF考试 程序设计题

1、从键盘上输入3个不同的数,将他们从大到小排序。

请将下列程序填写完整。

(提示:利用三个if…endif语句实现,其中交换时用到的临时内存变量为t)。

set talk offinput "请输入第一个数:" to ainput "请输入第二个数:" to binput "请输入第三个数:" to c**********Program**********if a<bt=aa=bb=tendifif a<ct=aa=cc=tendifif b<ct=bb=cc=tendif********** End **********?a,b,cReturnSet talk on2、求[1,100]内所有能被3或被5整除的数以及个数。

(提示:利用do while语句实现)。

Set talk offclearn=0i=1**********Program**********Do while i<=100IF MOD(i,3)=0 .OR. MOD(i,5)=0**int(i/3) = i/3 .OR. int(i/5) = i/5?? in=n+1Endifi=i+1enddo********** End **********? "满足条件的数的个数为:",nSet talk onReturn3、求自然数5的阶乘。

请将下列程序填写完整。

(用FOR循环语句)SET TALK OFFS = 1M = 1**********Program**********FOR M=1 TO 5S=S*MENDFOR********** End **********? SSET TALK ONRETURN4、从键盘上输入一个数n,计算n的阶乘。

Set talk offInput "请输入n的值:" to NS=1**********Program**********For I=1 to NS=S*IEndfor********** End **********?SSet talk onReturn5、求连乘数1*2*3*4*……,当积大于720时退出程序。

VF程序设计经典题型

VF程序设计经典题型

为节省空间,我将答案都放在了Program和End中间了,大家可以学学看哦!(以下各题答案请在Program和End中间填写)1.用循环程序求出1~15之间能被3整除的整数的阶乘和存入变量OUT中,要求用For循环语句实现。

SET TALK OFFSET LOGERRORS ONOUT=0**********Program**********T=1FOR N=1 TO 15T=T*NIF N%3=0OUT=OUT+TENDIFENDFOR?OUT********** End **********SET TALK ONDO YZJ17 WITH OUTRETURN2.. 编程判断一个整数w的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

将结果存入变量OUT中,要求用Do While语句实现。

SET TALK ONSET LOGERRORS ON? "输入一个整数:w=39"OUT=-1w=39**********Program**********S=0DO WHILE W>0S=S+(W%10)* (W%10)W=INT(W/10)ENDDOIF S%5=0Out=1ELSEOUT=0ENDIF?OUT********** End **********DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF3.编程当n=10时,计算如下表达式a10的值。

a1=1,a2=1/(1+a1),a3=1/(1+a2),......an=1/(1+a(n-1))。

将结果存入变量OUT中,要求用For循环语句实现。

SET TALK ONSET LOGERRORS ONOUT=-1**********Program**********a=1for i=1 to 9a=1.0/(1+a)endforout=a?out********** End **********DO YZJ WITH OUTSET LOGERRORS OFFSET TALK OFF4. 从键盘输入一个整数,输出所有能整除该数,并且本身也能被3整除的数的和。

VF程序设计经典例题

VF程序设计经典例题

1. 求园的面积〔要求判断半径是否合理〕CleaInpu ‘r=’ to rIf r>0S=3.14*r*r"sElse"’半径错误!’Endif2. 求分段函数Y 的值CleaInpu ‘If *>0Y=2**+5ElseIf *=0Y=*ElseY=abs(*)EndifEndif"y3. 输入一个百分制成绩判断其等级〔优/良/中/及格/不及格〕CleaInpu ‘cj=’ to cjDo caseCase cj>=90"’优’Case cj>=80"’良’Case cj>=70"’中’Case cj>=60"’及格’Orth"’不及格’Endcase4. 输入假设干个〔个数不定〕百分制成绩判断其等级〔优/良/中/及格/不及格〕CleaInpu ‘请输入处理几个人的成绩:’ to nFor i=1 to nInpu ‘cj=’ to cjDo caseCase cj>=90"’优’ 2*+5 *>0 * *=0 | * | *<0Case cj>=80"’良’Case cj>=70"’中’Case cj>=60"’及格’Orth"’不及格’Endcaseendfor5.求S=1+2+3. . . . . .+100CleaS=0For i=1 to 100S=s+iEndfor"s6.求S=1×2×3. . . . . .×100Cleap=1For i=1 to 100p=p*iEndfor"p7.求S=1+3+5.. . . . .+99CleaS=0For i=1 to 99 step 2S=s+iEndfor"s8.求S=1-2+3-4. . . . . .-100CleaS=0For i=1 to 100S=s+(-1)^(i+1)*iEndfor"s9.求S=1+1/2+2/3+3/5. . . . . .前10项之和CleaS=0A=1B=1For i=1 to 10S=s+a/bT=aA=bB=t+bEndfor"s10. 求S =1!+2!+3!. . . . . .+10!CleaS=0P=1For i=1 to 10P=p*iS=s+pEndfor"s11. 对学生表中所有入学成绩≥650分的学生免去贷款CleaUse 学生Scan for 入学成绩>=650 .and. 贷款否=.t.Repl 贷款否 with .f.EndscanUse12. 输出图形Clea For i=1 to 4 For j=1 to i""’*’ Endfor " EndforCleaFor i=1 to 4For j=1 to 4-i""’’ &&有一个空格EndforFor j=1 to 2*i-1""’*’Endfor"EndforCleaFor i=1 to 4For j=1 to 4-i""’’ &&有一个空格Endfor * **** * ******** **** ** *** *** ******* *** *** ** ***** ****** ** **** * ******* ***** *For j=1 to i""’*’Endfor"Endfor13.判断一个整数是否素数CleaInpu ‘*=’ to *For i=2 to *-1If mod(*,i)<>0LoopElseE*itEndifEndforIf i>*-1"*,’是素数’Else"*,’不是素数’Endif14.判断十个整数是否素数CleaFor j=1 to 10Inpu ‘*=’ to *For i=2 to *-1If mod(*,i)<>0LoopElseE*itEndifEndforIf i>*-1"*,’是素数’Else"*,’不是素数’EndifEndfor15.找出两个数的大数和小数CleaInpu ‘*=’ to *Inpu ‘y’ to yIf *>y"*,’大’,y,’小’Else"y,’大’,*,’小’Endif16.找出三个数的最大数和最小数CleaInpu ‘*=’ to *Inpu ‘y’ to yInpu ‘z’ to zIf *<yt=**=yy=tElseIf *<zt=**=zz=tendifendifif y<zt=yy=zz=tendif"*,’是最大数’,z,’是最小数’17.找出十个数的最大数和最小数CleaDime a(10)For i=1 to 10Inpu to a(i)EndforMa*=a(1)Min=a(1)For i=2 to 10If ma*<a(i)Ma*=a(i)ElseIf min>a(i)Min=a(i)EndifEndifEndfor"ma*,min18.找出2×3矩阵中的最大数和最小数cleadime a(2,3)for i=1 to 2for j=1 to 3input ‘a(‘+str(I,2)+’,’+str(j,2)+’)=’ to a(I,j) endforendforma*=a(1,1)min=a(1,1)for i=1 to 2for j=1 to 3if ma*<a(I,j)ma*= a(I,j)elseif min> a(I,j)min= a(I,j)endifendifendforendfor"’ma*=’,ma*,’min=’,min19.对三个整数从大到小排序ClearInput ‘a=’ to aInput ‘b=’ to bInput ‘c=’ to cIf a<bT=aA=bB=tElseIf a<ct=aA=cc=tendifendifIf b<cT=bA=cc=tendif"a,b,c20.对十个整数从大到小排序〔用选择法和起泡法两种方法〕选择法:ClearDime a(10)For i=1 to 10Input to a(i)EndforFor i=1 to 9Ma*=a(i)Num=iFor j=i+1 to 10If ma*<a(j)ma*=a(j)Num=jEndifEndforIf i<>numt=A(i)a(i)=a(num)a(num)=tEndifEndforFor i=1 to 10""a(i),' 'Endfor起泡法:ClearDime a(10)For i=1 to 10Input to a(i)EndforFor i=1 to 9For j=1 to 10-iIf a(j)<a(j+1)t=A(j)a(j)=a(j+1)a(j+1)=tEndifendforEndforFor i=1 to 10""a(i),' 'Endfor21.输出Fibonacci〔斐波那契〕数列的前十项ClearDime a(10)a(1)=1a(2)=1For i=3 to 10a(i)=a(i-1)+a(i-2)EndforFor i=1 to 10""A(i)Endfor22.输出辉三角的前十行ClearDime a(10,10)For i=1 to 10A(I,1)=1A(I,i)=1EndforFor i=3 to 10For j=2 to i-1A(I,j)=a(i-1,j)+a(i-1,j-1)EndforEndforFor i=1 to 10For j=1 to i""A(I,j)Endfor"Endfor23.对2×3矩阵转置CleaDime a(2,3),b(3,2)for i=1 to 2for j=1 to 3input to a(I,j)endforendforfor i=1 to 3for j=1 to 2b(I,j)=a(j,i)endforendforfor i=1 to 3for j=1 to 2""b(I,j)Endfor"endfor24.求三位数中的所有水仙花数〔即指一个三位数,其各位数字立方和等于该数本身〕Cleafor *=100 to 999a=int(*/100)b=mod(int(*/10),10)c=mod(*,10)if *==a*a*a+b*b*b+c*c*c"*Endifendfor25.求100以的所有完数〔即一个数恰好等于除它本身外的所有因子之和〕Cleafor i=3 to 100s=0for j=1 to i-1if mod(i,j)==0s=s+jendifendforif i==s"iendifendfor26.三角形的三边〔从键盘输入〕,求其面积(S^2=p(p-a)(p-b)(p-c), p=(a+b+c)/2)Clearinput 'a=' to ainput 'b=' to binput 'c=' to cif a+b>c and a+c>b and b+c>ap=(a+b+c)/2s=sqrt(p*(p-a)*(p-b)*(p-c))"selse"'三边不能组成三角形'Endif27.求二元方程的根〔分三种情况:两个不等实根,两个相等实根,无实根〕cleainpu 'a=' to a &&a<>0inpu 'b=' to b &&b<>0inpu 'c=' to ci=b*b-4*a*cif i<0""方程无实根!"elseif i==0r=(-b)/(2*a)""方程有两个相等实数根:",relse*1=(-b+sqrt(i))/(2*a)*2=(-b-sqrt(i))/(2*a)""方程有两个不相等实数根:",*1,*2endifendif28.输入任意一个五位整数,前后对应位置上的数据进展交换重新排列〔即逆序排列〕〔例:25984→48952〕cleadime a(5)inpu to ba(1)=int(b/10000)a(2)=mod(int(b/1000),10)a(3)=mod(int(b/100),10)a(4)=mod(int(b/10),10)a(5)=mod(b,10)for i=1 to int(5/2)t=a(i)a(i)=a(6-i)a(6-i)=tendforc=a(1)*10000+a(2)*1000+a(3)*100+a(4)*10+a(5)"b,c29.找出一个3*3矩阵的“鞍点〞,即该位置上的元素在该行上最大,在该列上最小〔也有可能没有鞍点〕cleadime a(3,3)flag=.t.for i=1 to 3for j=1 to 3input 'a('+str(I,2)+','+str(j,2)+')=' to a(i,j)endforendforfor i=1 to 3ma*=a(i,1)col=1for j=2 to 3if ma*<a(i,j)ma*=a(i,j)col=jendifendformin=a(1,col)row=1for k=2 to 3if min>a(k,col)min=a(k,col)row=kendifendforif ma*==min"a(row,col),'是鞍点,在',row,'行',col,'列'flag=.f.endifendforif flag==.t."'无鞍点'endif30.求S(n)=a+aa+aaa+...+aaa....aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如:2+22+222+22222+22222,此时n=5)cleainpu 'a=' to ainpu 'n=' to ns=0t=afor i=1 to ns=s+tt=a+t*10endfor"s31.把一一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案"13cleas=0for a=11 to 100for b=11 to 50for c=11 to 20if a+2*b+5*c=100s=s+1endifendforendforne*t"s32.一只猴子一天从山上摘来一袋桃子,从这天开场,它每天都要把袋中的桃子平分为二堆,吃掉其中的一堆,然后再从剩下的桃中拿出一个解谗,等到第10天,它发现袋中只有一只桃可吃啦,问猴子总共摘了多少桃。

VFP编程题及参考答案(可打印修改)

VFP编程题及参考答案(可打印修改)

VFP编程题及参考答案1.输入圆的半径,求圆的周长和面积并输出。

解:编写程序如下:clearinput “请输入圆的半径:” to rl=2*3.14159*rs=3.14159*r*r? “圆的周长为:”,l? “圆的面积为:”,s2.输入梯形上底、下底和高的值,求梯形面积并输出。

解:编写程序如下:clearinput "请输入梯形的上底:" to shdinput "请输入梯形的下底:" to xdinput "请输入梯形的高:" to gs=(shd+xd)*g/2? "梯形的面积为:",s3.输入三角形的三边长(设输入的三边a、b、c能构成三角形),求三角形的周长和面积并输出。

(提示:面积=半周长*(半周长-a)*(半周长-b)*(半周长-c)的平方根)解:编写程序如下:clearinput "请输入三角形的第一条边长:" to ainput "请输入三角形的第二条边长:" to binput "请输入三角形的第三条边长:" to cL=(a+b+c)/2s=sqrt(L*(L-a)*(L-b)*(L-c))? "三角形的周长为:",2*L? "三角形的面积为:",s4.输入2个实数,要求按由小到大的次序输出这两个数。

解:编写程序如下:clearinput "请输入第一个实数:" to num1input "请输入第二个实数:" to num2if (num1>num2)? num2,num1else? num1,num2endif5.请编写一个“A类邮件”计费程序,求出邮件的邮资费并输出:“A类邮件”计费规定:当邮件重量小于等于200克时,邮资费为每克0.06元;当邮件重量超过200克时,其中200克,按每克0.06元计费,超过200克的重量,按每克0.03元计费。

VF典型题例

VF典型题例

4、求s=1/1!+1/2!+1/3!+……+1/10!的值 a=1 s=0 for n=1 to 10 a=a*n s=s+1/a endfor ?s
3、求各位数字(判定水仙花数、回文数等)
设某四位数的各位数字的平方和等于100,问共有多少个这 种四位数? clea n=0 for x=1000 to 9999 a=int(x/1000) b=int(x/100)%10 c=int(x/10)%10 d=mod(x,10) if a*a+b*b+c*c+d*d=100 n=n+1 endif endfor ?n return
【例】铁路托运慢件行李,假设每张火车票托运
行李在50公斤以内时,按每公斤0.5元收费;超过 50公斤时,超过的部分按每公斤加价0.3元计费.
由题意分析
已知:每公斤的费用0.5元,超重的费用0.3元
要输入的量:行李重量为G 要处理的量:G是不是大于50公斤 要输出的量:费用为F 可得到如下计算公式: 当G≤50公斤 费用:F=0.5×G 当G>50公斤 费用: F=0.5×50+(0.5+0.3)×(G-50)
ENDIF
… …
ENDFOR
初值 循环体内 求和:s=0 s=s+i 求积:s=1 s=s*i 求个数:n=0 n=n+1
VF典型题(改错OR填空)
1、能被整除的
求[10,1000]内所有能被被7和9中至少一个数整 除的整数之个数。 set talk off clear s=0 for x=10 to 1000 if mod(x,7)=0 or mod(x,9)=0 n=n+1 endif endfor ?n set talk on return

VF程序设计习题(1)

VF程序设计习题(1)

1.下列关于数据与信息叙述不正确的是()。

A.数据都可以经过处理得到信息B.信息一定是数据C.数据一定是信息D.信息是经过处理的数据2.下列关系运算中不是单表运算的是()。

A. 选择B. 合并C. 连接D. 投影3.下列描述不正确的是()。

A. 数据库减少了数据冗余B. 数据库能避免一切数据重复C. 数据库具有较高的数据独立性D. 数据库中的数据可以共享4.Visual FoxPro 6.0中要隐藏命令窗口的组合键是()。

A. CTRL+F2B. CTRL+F4C. CTRL+F1D. CTRL+F35.在Visual FoxPro环境下,要隐藏命令窗口,可选择“窗口”菜单中的命令。

A. 清除B. 隐藏C. 循环D. 命令窗口6.在Visual FoxPro 中,关于字段值为空值(NULL)的描述中正确的是()。

A. 不支持字段值为空值B. 空值表示字段还没有确定值C. 空值等同于空字符串D. 空值等同于数值07.Y1="大学计算机基础",那么?SUBS(Y1,LEN(y1)-3,4)命令的执行结果是()。

A. 9B. 12C. 基础D. 计算机8.命令?round(42.1998,2)的结果是( )。

A. 42.00B. 42.20C. 42.19D. 42.20009.下列说法不正确的是( )。

A. recno()的功能是测试当前或指定工作区中数据表的当前记录号B. eof()的功能是测试当前或指定工作区中数据表的记录指针是否指向最后一条记录之后C. reccount()的功能是测试当前或指定工作区中数据表的记录个数,不包含逻辑删除的记录D. bof()的功能是测试当前或指定工作区中数据表的记录指针是否指向第一个记录之前10.关于函数atc()和at()的说法正确的是()。

A. atc()和at()的功能完全相同B. 以上说法都不正确C. atc()区分字母的大小写D. at()区分字母的大小写11.函数MAX(1,-90)的结果值是()。

vf编程试题集解析

vf编程试题集解析

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

【程序4】题目:将一个正整数分解质因数。

例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a> b)?a:b这是条件运算符的基本例子。

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n '.【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 求园的面积(要求判断半径是否合理)CleaInpu ‘r=’ to rIf r>0S=3.14*r*r?sElse?’半径错误!’Endif2. 求分段函数Y 的值Clea Inpu ‘x=’If x>0Y=2*x+5ElseIf x=0Y=xElseY=abs(x)EndifEndif?y3. 输入一个百分制成绩判断其等级(优/良/中/及格/不及格)CleaInpu ‘cj=’ to cjDo caseCase cj>=90?’优’Case cj>=80?’良’Case cj>=70?’中’Case cj>=60?’及格’Orth?’不及格’Endcase4. 输入若干个(个数不定)百分制成绩判断其等级(优/良/中/及格/不及格)CleaInpu ‘请输入处理几个人的成绩:’ to nFor i=1 to nInpu ‘cj=’ to cjDo case2x +5 x>0 x x=0 | x | x<0Case cj>=90?’优’Case cj>=80?’良’Case cj>=70?’中’Case cj>=60?’及格’Orth?’不及格’Endcaseendfor5.求S=1+2+3. . . . . .+100CleaS=0For i=1 to 100S=s+iEndfor?s6.求S=1×2×3. . . . . .×100Cleap=1For i=1 to 100p=p*iEndfor?p7.求S=1+3+5.. . . . .+99CleaS=0For i=1 to 99 step 2S=s+iEndfor?s8.求S=1-2+3-4. . . . . .-100CleaS=0For i=1 to 100S=s+(-1)^(i+1)*iEndfor?s9.求S=1+1/2+2/3+3/5. . . . . .前10项之和CleaS=0A=1B=1For i=1 to 10S=s+a/bT=aA=bB=t+bEndfor?s10. 求S =1!+2!+3!. . . . . .+10!CleaS=0P=1For i=1 to 10P=p*iS=s+pEndfor?s11. 对学生表中所有入学成绩≥650分的学生免去贷款CleaUse 学生Scan for 入学成绩>=650 .and. 贷款否=.t.Repl 贷款否 with .f.EndscanUse12. 输出图形Clea For i=1 to 4For j=1 to i??’*’Endfor?EndforCleaFor i=1 to 4For j=1 to 4-i??’ ’ &&有一个空格EndforFor j=1 to 2*i-1??’*’* **** * ******** **** ** *** *** ******* *** *** ** ***** ****** ** **** * ******* ***** *?EndforCleaFor i=1 to 4For j=1 to 4-i??’’&&有一个空格EndforFor j=1 to i??’*’Endfor?Endfor13.判断一个整数是否素数CleaInpu ‘x=’ to xFor i=2 to x-1If mod(x,i)<>0LoopElseExitEndifEndforIf i>x-1?x,’是素数’Else?x,’不是素数’Endif14.判断十个整数是否素数CleaFor j=1 to 10Inpu ‘x=’ to xFor i=2 to x-1If mod(x,i)<>0LoopElseExitEndifEndforIf i>x-1?x,’是素数’Else?x,’不是素数’Endif15.找出两个数的大数和小数CleaInpu ‘x=’ to xInpu ‘y’to yIf x>y?x,’大’,y,’小’Else?y,’大’,x,’小’Endif16.找出三个数的最大数和最小数CleaInpu ‘x=’ to xInpu ‘y’to yInpu ‘z’to zIf x<yt=xx=yy=tElseIf x<zt=xx=zz=tendifendifif y<zt=yy=zz=tendif?x,’是最大数’,z,’是最小数’17.找出十个数的最大数和最小数CleaDime a(10)For i=1 to 10Inpu to a(i)EndforMax=a(1)Min=a(1)For i=2 to 10If max<a(i)Max=a(i)ElseIf min>a(i).Min=a(i)EndifEndifEndfor?max,min18.找出2×3矩阵中的最大数和最小数cleadime a(2,3)for i=1 to 2for j=1 to 3input ‘a(‘+str(I,2)+’,’+str(j,2)+’)=’to a(I,j) endforendformax=a(1,1)min=a(1,1)for i=1 to 2for j=1 to 3if max<a(I,j)max= a(I,j)elseif min> a(I,j)min= a(I,j)endifendifendforendfor?’max=’,max,’min=’,min19.对三个整数从大到小排序ClearInput ‘a=’ to aInput ‘b=’ to bInput ‘c=’ to cIf a<bT=aA=bB=tElseIf a<ct=aA=cc=tendifendifIf b<cT=bA=cc=tendif?a,b,c20.对十个整数从大到小排序(用选择法和起泡法两种方法)选择法:ClearDime a(10)For i=1 to 10Input to a(i)EndforFor i=1 to 9Max=a(i)Num=iFor j=i+1 to 10If max<a(j)max=a(j)Num=jEndifEndforIf i<>numt=A(i)a(i)=a(num)a(num)=tEndifEndforFor i=1 to 10??a(i),' 'Endfor起泡法:ClearDime a(10)For i=1 to 10Input to a(i)EndforFor i=1 to 9For j=1 to 10-iIf a(j)<a(j+1)t=A(j)a(j)=a(j+1)a(j+1)=tEndifendforEndforEndfor21.输出Fibonacci(斐波那契)数列的前十项ClearDime a(10)a(1)=1a(2)=1For i=3 to 10a(i)=a(i-1)+a(i-2)EndforFor i=1 to 10??A(i)Endfor22.输出杨辉三角的前十行ClearDime a(10,10)For i=1 to 10A(I,1)=1A(I,i)=1EndforFor i=3 to 10For j=2 to i-1A(I,j)=a(i-1,j)+a(i-1,j-1)EndforEndforFor i=1 to 10For j=1 to i??A(I,j)Endfor?Endfor23.对2×3矩阵转置CleaDime a(2,3),b(3,2)for i=1 to 2for j=1 to 3input to a(I,j)endforendforfor i=1 to 3for j=1 to 2b(I,j)=a(j,i)endforendfor??b(I,j)Endfor?endfor24.求三位数中的所有水仙花数(即指一个三位数,其各位数字立方和等于该数本身)Cleafor x=100 to 999a=int(x/100)b=mod(int(x/10),10)c=mod(x,10)if x==a*a*a+b*b*b+c*c*c?xEndifendfor25.求100以内的所有完数(即一个数恰好等于除它本身外的所有因子之和)Cleafor i=3 to 100s=0for j=1 to i-1if mod(i,j)==0s=s+jendifendforif i==s?iendif26.已知三角形的三边(从键盘输入),求其面积(S^2=p(p-a)(p-b)(p-c), p=(a+b+c)/2)Clearinput 'a=' to ainput 'b=' to binput 'c=' to cif a+b>c and a+c>b and b+c>ap=(a+b+c)/2s=sqrt(p*(p-a)*(p-b)*(p-c))?selse?'三边不能组成三角形'Endif27.求二元方程的根(分三种情况:两个不等实根,两个相等实根,无实根)cleainpu 'a=' to a &&a<>0inpu 'b=' to b &&b<>0inpu 'c=' to ci=b*b-4*a*cif i<0?"方程无实根!"elseif i==0r=(-b)/(2*a)?"方程有两个相等实数根:",relsex1=(-b+sqrt(i))/(2*a)x2=(-b-sqrt(i))/(2*a)?"方程有两个不相等实数根:",x1,x2endifendif28.输入任意一个五位整数,前后对应位置上的数据进行交换重新排列(即逆序排列)(例:25984→48952)cleadime a(5)inpu to ba(1)=int(b/10000)a(2)=mod(int(b/1000),10)a(3)=mod(int(b/100),10)a(4)=mod(int(b/10),10)a(5)=mod(b,10)for i=1 to int(5/2)t=a(i)a(i)=a(6-i)a(6-i)=tendforc=a(1)*10000+a(2)*1000+a(3)*100+a(4)*10+a(5)?b,c29.找出一个3x3矩阵的“鞍点”,即该位置上的元素在该行上最大,在该列上最小(也有可能没有鞍点)cleadime a(3,3)flag=.t.for i=1 to 3for j=1 to 3input 'a('+str(I,2)+','+str(j,2)+')=' to a(i,j)endforendforfor i=1 to 3max=a(i,1)col=1for j=2 to 3if max<a(i,j)max=a(i,j)col=jendifendformin=a(1,col)row=1for k=2 to 3if min>a(k,col)min=a(k,col)row=kendifendforif max==min?a(row,col),'是鞍点,在',row,'行',col,'列'flag=.f.endifendforif flag==.t.?'无鞍点'endif30.求S(n)=a+aa+aaa+...+aaa....aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如:2+22+222+22222+22222,此时n=5)cleainpu 'a=' to ainpu 'n=' to ns=0t=afor i=1 to ns=s+tt=a+t*10endfor?s31.把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案? 13cleas=0for a=11 to 100for b=11 to 50for c=11 to 20if a+2*b+5*c=100s=s+1endifendforendfornext?s32.一只猴子一天从山上摘来一袋桃子,从这天开始,它每天都要把袋中的桃子平分为二堆,吃掉其中的一堆,然后再从剩下的桃中拿出一个解谗,等到第10天,它发现袋中只有一只桃可吃啦,问猴子总共摘了多少桃。

相关文档
最新文档