VFP编程题类型总结_第1页
VFP编程题类型总结_第2页
VFP编程题类型总结_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编程题类型总结VFP求和类:求N的阶乘。 N的值 由键盘输入,应小于20 INPUT 输入N的值 TO NP=1FOR I=1 TO NP=P*IENDFOR?N,仁P1. 计算 S=1+2! +3 ! +4! + o ooooo +N!S=0K=1INPUT N= TO NFOR i=1 TO NK=K*iS=S+KEndfor?S2. 求 13335373 爲:213SUM=0FOR 1=1 TO 21 STEP 2SUM=SUM+IA3ENDFOR?SUM= SUM3. 有一分数序列,求前 20项之和M=1N=2SUM=0FOR 1=1 TO 20TERM=N/MSUM=SUM+TERM

2、X=NN=M+NM=XTERM=N/MENDFOR?SUM= SUM4. 求Sn=a+aa+aaa+aaaa ,其中,a是一个数字,a的个数为 n, a和n由键盘输入 INPUT 输入 a的值:TO AINPUT 输入项数 n: TO NSN=0B=AFOR 1=1 TO NSN=SN+AA=A*10+BENDFOR?数列之和为:,SNx5. 求e的台劳级数展开式的前n项之和运行时输入x=2.0,n=4INPUT X= TO XINPUT N= TO NSUM=1P=1FOR I=1 TO N-1P=P*IT=XAI/PSUM=SUM+TENDFOR?SUM= ,SUM6. 求 1*2+3*4

3、+5*6+ 21*22SUM=0FOR I=1 TO 21 STEP 2SUM=SUM+I*(I+1)ENDFOR?和为 =,SUM(1892)7. 通过键盘输入n,求以下级数的和:?1-1/2+1/3-1/4+1/nINPUT TO NS=0F=1FOR I=1 TO NS=S+F*(-1)A(I-1)/IENDFOR ?S8. 计算连续自然数之和,并且显示和刚大于1000 的最后一个自然数Sn=1+2+3+4+ +NSTORE 0 TO S,NDO WHILE S=1000N=N+1S=S+NENDDO? N9求1八2+4八2+7八2+一直加到超过1000为止,输出和数与项数I=1S=0N

4、=0DO WHILE S0Y=X*XELSEIF X=0Y=0ELSEY=-(X*X)ENDIFENDIF?Y2.现有一元2次方程 AX2+BX+C=0 其中A B C是整数且 A不等于0假设存在实根,那么输岀“在实数范围内 有解 假设不存在实根 那么输出“在实数范围内无解/求解INPUT TO AINPUT TO BINPUT TO CD=B*B-4*A*CIF D=0?在实数范围内有解 ELSE?在实数范围内无解 ENDIF/INPUT TO AINPUT TO BINPUT TO CD=B*B-4*A*CIF D0X1=(-B+SQRT(D)/(2*A)X2=(-B-SQRT(D)/(2

5、*A)?X1?X2ELSEIF D0X=-B/(2*A)?X1=X2=,XELSE?无解 ENDIFif X ::: 1if 1=:X:10if X 2=10ENDIF1 X3.输入一个X的值,求Y的值。Y= 2X -13X -11-INPUT TO XDO CASECASE X1Y=XCASE X=10Y=3*X-11ENDCASE?Y数组类1. 输入10个数,输岀其中小于平均值S的数。DIME A(10)S=0FOR I=1 TO 10INPUT TO A(I)S=S+A(I)ENDFORS=S/10FOR I=1 TO 10IF A(I)BIGBIG=A(I)ENDIFIF A(I)BI

6、GBIG=A(I)BP=IENDIFIF A(I)10? NOENDIF5. 已有按从小到大的顺序排列的10 个数,现输入一个数,要求插入到数列中。插入后数列仍然按从小到大顺序排列。DIMENSION A(11)FOR I=1 TO 10INPUT “递增输入 10 个整数 TO A(I)ENDFORINPUT “任意输入一个整数 TO XFOR I=10 TO 1 STEP -1IF XA(I)IF I=1A(I+1)=A(I)A(I)=XELSEA(I+1)=A(I)ENDIFELSEA(I+1)=XEXITENDIFENDFORFOR I=1 TO 11?A(I)ENDFOR?并将6.

7、数组 A 中已存放了 10 个由小到大排列的数。 现从键盘输入一个数 X ,要求删除数组中与其相同的数, 后续的数依次前移,最后输出剩余的数。( 7 分)考虑到有重复数的程序如下:DIME A(10)FOR I=1 TO 10INPUT “按递增输入 10 个数 TO A(I)ENDFORINPUT “输入待删除的数 TO XI=1J=1N=0DO WHILE I=10IF A(I)A(J)TEMP=A(I)A(I)=A(J)A(J)=TEMPENDIFENDFORENDFORFOR 1=1 TO 10?A(I)ENDFOR以上是一维数组(数组中只有一个下标)程序举例。在VFP中,还可以建立二

8、维数组。定义方法是:DIME A(2,3)第一维代表行,第二维代表列,这样就在内存中开辟了6个连续的存储单元,数组元素的名称分别为:A(1,1)A(1,2)A(1,3)A(2,1)A(2,2)A(2,3)二维数组的元素赋初值及其处理通常要用二重循环,外循环代表行,内循环代表列。如:FOR I=1 TO 2FOR J=1 TO 3INPUT TO A(I,J)ENDFORENDFOR二维数组特别适合用来解决矩阵问题。矩阵中有如下几个术语要掌握:行列相等的矩阵叫方阵;方阵中有主对角线、辅对角线、下三角元素、外围元素等2.FORENendfOOr BIG=A(1,1) ROW COLFOR1. 建立

9、一个六行六列的方阵,求出两条对角线上所有元素之和FOR J=1 TO 5IF A(I,J)BIG BIG=A(I,J)ROW=ICOL=JDIME A(3,4),B(3,4),C(3,4)FOR I=1 TO 3FOR J=1 TO 4INPUT TO A(I,J) INPUT TO B(I,J) C(I,J)=A(I,J)+B(I,J) ENDFORENDFORFOR I=1 TO 3FOR J=1 TO 4 ?STR(C(I,J),6)ENDFOR?ENDFORENDIFENDFORENDFOR?BIG, ROW, COL3.求两个矩阵之和,即C(3,4)=A(3,4)+B(3,4)DIM

10、E A(3,4),B(3,4),C(3,4)FOR I=1 TO 3FOR J=1 TO 4INPUT TO A(I,J)ENDFORENDFORFOR I=1 TO 3FOR J=1 TO 4INPUT TO B(I,J)ENDFORENDFORFOR I=1 TO 3FOR J=1 TO 4C(I,J)=A(I,J)+B(I,J)ENDFORENDFORFOR 1=1 TO 3FOR J=1 TO 4?STR(C(I,J),6)ENDFOR?ENDFOR 判断类1. 键盘输入一个年份,判断是平年还是闰年?INPUT Enter a year : TO Y 、IF MOD(Y,100)0 A

11、ND MOD(Y,4)=0 OR MOD(Y,400)=0?Y, “s a leap year. ELSE?Y, is a common yearENDIF2. 从键盘输入一个整数,判断是偶数还是奇数。INPUT 整数TO XIF MOD(X,2)=0?这是个偶数ELSE?这是个奇数ENDIF3. 输入一个字符,判断是否为英文字母。ACCEPT请输入一个字符:TO CHIF ASC(CH)=65 AND ASC(CH)=97 AND ASC(CH)=65 AND ASC(CH)=48 AND ASC(CH)=97 AND ASC(CH)0R=MOD(N,8)OCT= STR(R,1)+OCTN

12、=INT(N/8)ENDDO?OCTSET TALK ONCANCEL4. 从键盘输入一个二进制数,将其转换成等值的十进制数。S=0ACCEPT “ ENTER A BINARY NUMBER: TO NL=LEN(N)FOR I=1 TO LS=S+VAL(SUBSTR(N,I,1)*2*(L-I)ENDFOR?“等值的十进制数为 ,S 从键盘输入一个十进制数,将其转换成等值的二进制数。 INPUT ENTER A DECIMAL NUMBER: TO N BIN=“ IF N=0BIN= “0ENDIFDO WHILE N0R=MOD(N,2)BIN= STR(R,1)+BINN=INT(

13、N/2)ENDDO? “等值的二进制数为 ,BIN 真实情况类1. 输入乘车的公里数,输出乘车费(计费标准:2.5公里之内是 6元, 2.5公里以外,每超过 1公里增加 1元 2角)INPUT 输入公里数 TO XIF X2.5PAY=(X-2.5)*1.2+6ELSEPAY=6ENDIF?应付费 ,PAY, 元 2.设交纳所得税的规定如下:DO CASE 语句收入 =1500 元 免交所得税1500 元 收入 =3000 元 所得税为 5%3000 元 收入 =6000 元所得税为 8%6000 元 收入 =10000 元所得税为 10%10000 元 收入 50000 元所得税为 20%

14、请编程,从键盘输入一个数,计算应交纳的所得税。INPUT “INCOME= TO XDO CASECASE X=1500 TAX=0CASE X=3000TAX=(X-1500)*0.05CASE X=6000TAX=(X-3000)*0.08+(3000-1500)*0.05CASE X=10000 TAX=(X-6000)*0.1+(6000-3000)*0.08+(3000-1500)*0.05CASE X=95?优秀CASE FS=85?很好CASE FS=70?好CASE FS=60?一般OTHERWISE? 不及格 ENDCASE4. 编写学生成绩统计程序。设有三位同学,考数学、物

15、理、化学三门课,统计每个同学的总分和平均分SET TALK OFFCLEARDIME S(3,6)FOR I=1 TO 3FOR J=1 TO 4INPUT INPUT STUDENT-NO AND SCORE: TO S(I,J)ENDFORENDFORFOR I=1 TO 3S(I,5)=S(I,2)+S(I,3)+S(I,4)S(I,6)=ROUND(S(I,5)/3,1)ENDFOR ?SPACE(5),STUNO,SPACE(4),MATH,SPACE(4),PHY,SPACE(5),CHE,SPACE(4), TOTAL,SPACE(5),AVER?FOR I=1 TO 3FOR

16、J=1 TO 6?S(I,J)ENDFOR?ENDFORSET TALK ONCANCEL5. 某班有 45 名参加考试的同学,现在要求从键盘输入全班一门课的成绩,输出该课程的平均分,以及及格人 数和半分比。SUM=0N=1FOR I= 1 TO 45INPUT 全班一门课的成绩 TO XSUM=SUM+XIF X=60N=N+1ENDIFENDFOR?平均分 ,SUM/45? 几个人数 ,N? 合格率 ,N/45*100,% 矩阵类1. 建立一个五行五列的矩阵,求出外围所有元素之和。DIMENSION A(5,5)S=0S1=0FOR I=1 TO 5FOR J=1 TO 5INPUT TO

17、 A(I,J)S=S+A(I,J)ENDFORENDFORFOR I=2 TO 4FOR J=2 TO 4S1=S1+A(I,J)ENDFORENDFOR?S-S1 打印图形类1.打印如以下图形 :*CLEARFOR I=1 TO 5?SPACE(I)FOR J=1 TO 5?* ENDFORENDFOR 附:打印如以下图形 :*FOR I=5 TO 1 STEP -1?SPACE(5-I)FOR J=1 TO I?* ENDFOR?ENDFORFOR I=2 TO 5?SPACE(5-I)FOR J=1 TO I?* ENDFORENDFOR2. 打印如下所示的九九乘法表 clearfor

18、N=1 TO 9 for M=1 TO N? alltrim(str(N)+ x +alltrim(str(M)+=+ alltrim(str(N*M)+space(5)endfor?Endfor clearN=1DO WHILE N=9M=1DO WHILE M=N? alltrim(str(N)+ x +alltrim(str(M)+=+ alltrim(str(N*M)+space(5)M=M+1ENDDO?N=N+1ENDDO 其他类1. 输入两个数和一个运算符(加、减、乘、除 ),求其值。例如 ,输入 3和 5以及*,那么输出 15INPUT “输入一个数 :TO A INPUT “

19、输入另一个数 :TO B ACCEPT “输入运算符 :TO CH DO CASECASE CH= “+? “两数之和为 : ,A+BCASE CH= -“? “两数之差为 : ,A-BCASE CH= *? “两数之积为 : ,A*BCASE CH= “/? “两数之商为 : ,A/BOTHERWISE? “运算符有错 ! ENDCASE2.输入一个正整数,分解出所有因子。如18=1*2*3*3 , 23=1*23INPUT 输入一个正整数 TO N? N,=1I=2DO WHILE I=NIF MOD(N,I)=0?*+ALLTRIM(STR(I)N=N/IELSEI=I+1ENDIFENDDO?3. 直接求最小公倍数参考程序如下:INPUT 输入一个正整数 TO MINPUT 输入另一个正整数 TO NFOR I=M TO M*NIF MOD(I,N)=0 AND MOD(I,M)=0? 最小公倍数为 ,IEXITENDIFENDFOR4.求FIBONACCI 数列1, 1, 2, 3, 5, 8的第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论