100 and a=1000 or mod(a,100)=0 Messagebox("输入的不是三位数或重排后不是三位数,请重新输入!") Else A1=int(a/100) A2=int(mod(a,100)/10) A3=mod(a,10) ?a1+10"/> 100 and a=1000 or mod(a,100)=0 Messagebox("输入的不是三位数或重排后不是三位数,请重新输入!") Else A1=int(a/100) A2=int(mod(a,100)/10) A3=mod(a,10) ?a1+10"/>
首页 常见VFP结构化程序设计

常见VFP结构化程序设计

举报
开通vip

常见VFP结构化程序设计 01、从键盘任意输入一个3位整数,若输入的数据不是一个3位整数则给出提示信息,编程实现3位整数的逆序输出。 方法一 SET TALK OFF CLEAR INPUT "请输入一个三位数:" TO A If a>100 and a=1000 or mod(a,100)=0 Messagebox("输入的不是三位数或重排后不是三位数,请重新输入!") Else A1=int(a/100) A2=int(mod(a,100)/10) A3=mod(a,10) ?a1+10...

常见VFP结构化程序设计
01、从键盘任意输入一个3位整数,若输入的数据不是一个3位整数则给出提示信息,编程实现3位整数的逆序输出。 方法一 SET TALK OFF CLEAR INPUT "请输入一个三位数:" TO A If a>100 and a<1000 A1=int(a/100) A2=int(mod(a,100)/10) A3=mod(a,10) ?a1+10*a2+100*a3 Else m="输入的不是三位数,请重新输入!" ?m ENDIF SET TALK ON RETURN 方法二 若要求输出的数必须是三位整数,则程序如下: SET TALK OFF CLEAR INPUT "请输入一个三位数:" TO A If a<100 or a>=1000 or mod(a,100)=0 Messagebox("输入的不是三位数或重排后不是三位数,请重新输入!") Else A1=int(a/100) A2=int(mod(a,100)/10) A3=mod(a,10) ?a1+10*a2+100*a3 ENDIF SET TALK ON RETURN 方法三 clear accept"请输入一个三位整数:" to x n=len(x) s="" for i=3 to 1 step -1 s=s+substr(x,i,1) endfor ?"逆序输出为:",s return 02、键盘输入n,求N! 方法一 Set talk off Clear P=1 Input “请输入N:” to n For i=1 to n p=p*i Endfor ? “N!=”,p Set talk on Return 方法二 clear input"n="to n s=1 do while n>0 s=s*n n=n-1 enddo ?"n!=",s return 03、计算e的近似值。其公式为:e=1+1/1!+1/2!+1/3!+…+1/n!,直到1/n!<0.000001为止。 方法一 Set talk off Clear E=1 t=1 i=1 Do while .t. T=1 For k=1 to i T=t*k Endfor(Next k) i=i+1 If 1/t<0.000001 Exit Endif E=e+1/t Enddo ? ”e=”,e Set talk on Return 方法二 Set talk off clear e=0 &&累加和 f=1 &&存放阶乘 k=1 &&累积项 do while 1/f>=0.000001 e=e+1/f f=f*k k=k+1 enddo ?"e=",e Set talk on return 04、编程:求S=1-1/2+1/3-1/4+1/5-……-1/100。 方法一 set talk off CLEAR s=0 i=0 FOR i=1 TO 100 STEP 1 IF i%2=0 s=s-1/i ELSE s=s+1/i endif ENDFOR ?s Set talk on Return 方法二 Set talk off clear s=0 &&累加和赋除值 f=1 &&符号变量 for i=1 to 100 s=s+f*1/i f=-1*f &&改变符号 endfor ?"s=",s Set talk on return 05、用循环输出下列图形。 * * * * * * * * * * * * * * * * 方法一: SET TALK OFF CLEAR r=1 cc=10 DO WHILE r<=4 s=1 DO WHILE s<=2*r-1 @r,cc SAY “*” cc=cc+1 s=s+1 ENDDO cc=10-r r=r+1 ENDDO RETURN 方法二: clear input "请输入层数:"to n for i=1 to n &&控制行数 ??space(40-i) &&设置每一行起始列位 for j=1 to 2*i-1 &&控制每一行星号个数 ??"*" endfor ? &&换行 endfor 06、输出乘法口诀表(下三角形的形式输出)。 试用固定次数循环的嵌套格式编写一个打印九九乘法口诀表的程序。 方法一: *用do while-enddo语句打印九九乘法表 clear a=1 do while a<=9 b=1 do while b<=a c=a*b ?? str(a,1)+”*”+str(b,1)+”=”+str(c,2)+ “ ” b=b+1 enddo a=a+1 ? enddo 方法二: *用for—endfor语句打印九九乘法表 SET TALK OFF CLEAR FOR Y=1 TO 9 FOR X=1 TO y Z= Y * X ??STR(Y,1)+“*”+STR(X,1)+“=”+STR(Z,2)+“ ” ENDFOR ? ENDFOR SET TALK ON RETURN 07、输入一个数n,判断其是否是素数。(提示:素数又称质数,只能够被1和它本身整除。如果要判断n是否是素数,就用2~n-1之间的数逐个去除,若全部都除不尽,则n为素数,否则不是素数。为减少除的次数,提高运行效率,除到 即可。) Set talk off Clear P=1 Input "请输入一个数N:" to n For i=2 to n-1 If n/i=int(n/i) P=0 Exit Endif Endfor If p<>0 ?"数"+ltrim(str(n))+"是素数" Else ?"数"+ltrim(str(n))+"不是素数" Endif Set talk on Return 输入10个数,让它们按降序的顺序输出。(提示:使用一维数组) Set talk off Clear dime s(10) for i=1 to 10 input '请输入第'+STR(i)+'个数:' to s(i) endfor for i=1 to 9 for j=i+1 to 10 if s(i)Y T=X X=Y Y=T Endif ? “X=”,X ? “Y=”,Y 09、编程求和S=1+2+3+…+100。 SET TALK OFF CLEAR STORE 0 TO K,S DO WHILE k<=100 S= K +S K = K +1 ENDDO ?”累加和S=”,S SET TALK ON RETURN 10、从键盘输入10个数,编程找出其中的最大值和最小值 set talk off clear input “请从键盘输入一个数:” to a store a to max, min for I=2 to 10 input “请从键盘输入一个数:” to a if maxa min=a endif endfor ?”最大值为:”, max ?”最小值为:”,min set talk on return 11、求1000以内的 “水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如,153=13+53+33,故153是水仙花数。 方法一: Clear ? “打印1000以内的水仙花数:” for x=100 to 999 x1=x%10 &&取出个位数 x2=int(x/10)%10 &&取出十位数 x3=int(x/100) &&取出百位数 if x=x1^3+x2^3+x3^3 ?x endif endfor 方法二: set talk off clea for I=1 to 9 for j=0 to 9 for k=0 to 9 if I^3+j^3+k^3=100*I+10*j+k ? 100*I+10*j+k endif endfor endfor endfor return 12、求出0~300之间能被3整除的数的和? SET TALK OFF I=1 S=0 DO WHILE I<=300 IF mod(I,3)=0 S=S+I ENDIF I=i+1 ENDDO ??S RETURN 13、求1到100中偶数的和 AA=0 FOR II=2 TO 100 STEP 2 AA=AA+II ENDFOR ? AA 屏幕显示为:2550 14、编写程序打印如下的图形 ******** ******** ******** ******** ******** ******** ******** SET TALK OFF CLEAR A=1 DO WHILE A<=7 B=1 DO WHILE B<=8 @A,B+A SAY “*” B=B+1 ENDDO A=A+1 ENDDO SET TALK ON RETURN 第 2 页 共 14 页
本文档为【常见VFP结构化程序设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
最新资料
资料动态
专题动态
is_770667
暂无简介~
格式:doc
大小:60KB
软件:Word
页数:14
分类:工学
上传时间:2012-07-13
浏览量:30