您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 专升本编程题类型总结
求N的阶乘。(N的值由键盘输入,应小于20)INPUT“输入N的值”TONP=1FORI=1TONP=P*IENDFOR?N,“!=”,P①求和类:1.计算S=1!+2!+3!+4!+。。。。。。+N!S=0K=1INPUTN=TONFORi=1TONK=K*iS=S+KEndfor?S2.求33333217531SUM=0FORI=1TO21STEP2SUM=SUM+I^3ENDFOR?”SUM=”,SUM3.有一分数序列,求前20项之和......81358352312M=1N=2SUM=0FORI=1TO20TERM=N/MSUM=SUM+TERMX=NN=M+NM=XTERM=N/MENDFOR?”SUM=”,SUM4.求Sn=a+aa+aaa+aaaa……,其中,a是一个数字,a的个数为n,a和n由键盘输入INPUT输入a的值:TOAINPUT输入项数n:TONSN=0B=AFORI=1TONSN=SN+AA=A*10+BENDFOR?数列之和为:,SN5.求ex的台劳级数展开式的前n项之和(运行时输入x=2.0,n=4))!1(!3!21132nxxxxenxINPUT“X=”TOXINPUT“N=”TONSUM=1P=1FORI=1TON-1P=P*IT=X^I/PSUM=SUM+TENDFOR?”SUM=”,SUM6.求1*2+3*4+5*6+……21*22SUM=0FORI=1TO21STEP2SUM=SUM+I*(I+1)ENDFOR?和为=,SUM(1892)7.通过键盘输入n,求下列级数的和:⋅1-1/2+1/3-1/4+…+1/nINPUTTONS=0F=1FORI=1TONS=S+F*(-1)^(I-1)/IENDFOR?S8.计算连续自然数之和,并且显示和刚大于1000的最后一个自然数Sn=1+2+3+4+…+NSTORE0TOS,NDOWHILES=1000N=N+1S=S+NENDDO?N9.求1^2+4^2+7^2+…一直加到超过1000为止,输出和数与项数。I=1S=0N=0DOWHILES=1000S=S+I^2I=I+3N=N+1ENDDO?N?S10.求1-100之间所有奇数之和SUM=0FORI=1TO100STEP2SUM=SUM+IENDFOR?“SUM=”,SUM10.输出100到200之间所有能被5或7整除的整数,并输出他们的和。SUM=0FORI=100TO200IFMOD(I,10)=5ANDMOD(I,7)=0SUM=SUM+I?IENDIFENDFOR?“SUM=”,SUM11.编程输出100~500之间能被7整除的奇数的个数。N=0FORI=100TO500IFI%7=0ANDI%2=1N=N+1ENDIFENDFOR?“N=”,N12.求1/(1*2)+1/(3*4)+1/(5*6)+……+1/(99*100)SUM=0FORI=1TO99STEP2SUM=SUM+1/(I*(I+1))ENDFOR?SUM=,SUM13.求如下级数前N项之和(X和N的值由键盘输入)nxxxxxn4321432S=1INPUTTOXINPUTTONFORI=1TONS=S+X^I/IENDFOR?“SUM=”,S14.输出3-100之间的所有素数,并求其和。SUM=0FORJ=3TO100FLAG=.T.FORI=2TOSQRT(J)IFMOD(J,I)=0FLAG=.F.EXITENDIFENDFORIFFLAG=.T.?JSUM=SUM+JENDIFENDFORN=0FORI=101TO500STEP2IFMOD(I,7)=0N=N+1ENDIFENDFOR?“N=”,N?奇数之和是:,SUM②方程类1.完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值。000022xifxxifxifxYINPUT请输入X值:TOXIFX0Y=X*XELSEIFX=0Y=0ELSEY=-(X*X)ENDIFENDIF?Y2.现有一元2次方程AX^2+BX+C=0其中ABC是整数且A不等于0若存在实根,则输出“在实数范围内有解”若不存在实根则输出“在实数范围内无解”/求解INPUTTOAINPUTTOBINPUTTOCD=B*B-4*A*CIFD=0?在实数范围内有解ELSE?在实数范围内无解ENDIF/INPUTTOAINPUTTOBINPUTTOCD=B*B-4*A*CIFD0X1=(-B+SQRT(D))/(2*A)X2=(-B-SQRT(D))/(2*A)?X1?X2ELSEIFD0X=-B/(2*A)?X1=X2=,XELSE?无解ENDIFENDIF3.输入一个X的值,求Y的值。Y=10113101121XifXXifXXifXINPUTTOXDOCASECASEX1Y=XCASEX10Y=2*X-1CASEX=10Y=3*X-11ENDCASE?Y③数组类1.输入10个数,输出其中小于平均值S的数。DIMEA(10)S=0FORI=1TO10INPUTTOA(I)S=S+A(I)ENDFORS=S/10FORI=1TO10IFA(I)S??A(I)ENDIFENDFOR2.输入10个数,求其中最大数和最小数。DIMEA(10)FORI=1TO10INPUT“ENTERANUMBER:”TOA(I)ENDFORBIG=A(1)SMALL=A(1)FORI=2TO10IFA(I)BIGBIG=A(I)ENDIFIFA(I)SMALLSMALL=A(I)ENDIFENDFOR?“THESMALLESTNUMBERIS”,SMALL?“THEBIGGESTNUMBERIS”,BIG3.输入10个数,求其中最大数和最小数,并确定它们的位置。DIMEA(10)FORI=1TO10INPUT“ENTERANUMBER:”TOA(I)ENDFORBIG=A(1)BP=1SMALL=A(1)SP=1FORI=2TO10IFA(I)BIGBIG=A(I)BP=IENDIFIFA(I)SMALLSMALL=A(I)SP=IENDIFENDFOR?“THEPLACEOFTHESMALLESTNUMBERIS”,SP?“THESMALLESTNUMBERIS”,SMALL?“THEPLACEOFTHEBIGGESTNUMBERIS”,BP?“THEBIGGESTNUMBERIS”,BIG4.从键盘输入10个整数,现从中查找某个数,若查到,输出“YES”,否则输出“NO”。DIMENSIONA(10)FORI=1TO10INPUT输入10个整数TOA(I)ENDFORINPUT输入待查找的整数TOXFORI=1TO10IFX=A(I)?YESEXITENDIFENDFORIFI10?NOENDIF5.已有按从小到大的顺序排列的10个数,现输入一个数,要求插入到数列中。插入后数列仍然按从小到大顺序排列。DIMENSIONA(11)FORI=1TO10INPUT“递增输入10个整数”TOA(I)ENDFORINPUT“任意输入一个整数”TOXFORI=10TO1STEP-1IFXA(I)IFI=1A(I+1)=A(I)A(I)=XELSEA(I+1)=A(I)ENDIFELSEA(I+1)=XEXITENDIFENDFORFORI=1TO11??A(I)ENDFOR?6.数组A中已存放了10个由小到大排列的数。现从键盘输入一个数X,要求删除数组中与其相同的数,并将后续的数依次前移,最后输出剩余的数。(7分)考虑到有重复数的程序如下:DIMEA(10)FORI=1TO10INPUT“按递增输入10个数”TOA(I)ENDFORINPUT“输入待删除的数”TOXI=1J=1N=0DOWHILEI=10IFA(I)XI=I+1J=J+1ELSEIFA(I)=XI=I+1N=N+1ELSEEXITENDIFENDIFENDDOFORK=ITO10A(J)=A(K)J=J+1ENDFORFORK=1TO10-N?A(K)ENDFOR7.输入10个数,按升序排列后输出。DIMEA(10)FORI=1TO10INPUT“ENTERANINTEGER:”TOA(I)ENDFORFORI=1TO9FORJ=I+1TO10IFA(I)A(J)TEMP=A(I)A(I)=A(J)A(J)=TEMPENDIFENDFORENDFORFORI=1TO10?A(I)ENDFOR以上是一维数组(数组中只有一个下标)程序举例。在VFP中,还可以建立二维数组。定义方法是:DIMEA(2,3)第一维代表行,第二维代表列,这样就在内存中开辟了6个连续的存储单元,数组元素的名称分别为:A(1,1)A(1,2)A(1,3)A(2,1)A(2,2)A(2,3)二维数组的元素赋初值及其处理通常要用二重循环,外循环代表行,内循环代表列。如:FORI=1TO2FORJ=1TO3INPUTTOA(I,J)ENDFORENDFOR二维数组特别适合用来解决矩阵问题。矩阵中有如下几个术语要掌握:行列相等的矩阵叫方阵;方阵中有主对角线、辅对角线、下三角元素、外围元素等1.建立一个六行六列的方阵,求出两条对角线上所有元素之和。DIMEA(6,6)FORI=1TO6FORJ=1TO6INPUTTOA(I,J)ENDFORENDFORSUM=0FORI=1TO6SUM=A(I,I)+A(I,7-I)ENDFOR?“两条对角线上所有元素之和为”,SUMDIMEA(6,6)FORI=1TO6FORJ=1TO6A(I,J)=I+JENDFORENDFORSUM=0FORI=1TO6SUM=A(I,I)+A(I,7-I)ENDFOR?“两条对角线上所有元素之和为”,SUMZF=0SF=0FORI=1TO6FORJ=1TO6IFI=JSZ=SZ+A(I,J)ENDIFIFI+J=7SF=SF+A(I,J)ENDIFENDFORENDFOR?“两条对角线上所有元素之和为”,SZ+SF2.一个四行五列的矩阵,求出其中最大元素的值,以及所在的行号与列号。DIMEA(4,5)FORI=1TO4FORJ=1TO5INPUTTOA(I,J)ENDFORENDFORBIG=A(1,1)ROW=1COL=1FORI=1TO4FORJ=1TO5IFA(I,J)BIGBIG=A(I,J)ROW=ICOL=JENDIFENDFORENDFOR?BIG,ROW,COL3.求两个矩阵之和,即C(3,4)=A(3,4)+B(3,4)DIMEA(3,4),B(3,4),C(3,4)FORI=1TO3FORJ=1TO4INPUTTOA(I,J)ENDFORENDFORFORI=1TO3FORJ=1TO4INPUTTOB(I,J)ENDFORENDFORFORI=1TO3FORJ=1TO4C(I,J)=A(I,J)+B(I,J)ENDFORENDFORDIMEA(3,4),B(3,4),C(3,4)FORI=1TO3FORJ=1TO4INPUTTOA(I,J)INPUTTOB(I,J)C(I,J)=A(I,J)+B(I,J)ENDFORENDFORFORI=1TO3FORJ=1TO4??STR(C(I,J),6)ENDFOR?ENDFORFORI=1TO3FORJ=1TO4??STR(C(I,J),6)ENDFOR?ENDFOR④判断类1.键盘输入一个年份,判断是平年还是闰年?INPUT“Enterayear:”TOY、IFMOD(Y,100)0ANDMOD(Y,4)=0ORMOD(Y,400)=0?Y,“isaleapyear.”ELSE?Y,“isacommonyear”ENDIF2.从键盘输入一个整数,判断是偶数还是奇数。INPUT整数TOXIFMOD(X,2)=0?这是个偶数ELSE?这是个奇数
本文标题:专升本编程题类型总结
链接地址:https://www.777doc.com/doc-3976919 .html