C语言编程题类型总结目录① 求和类: 2② 方程类 5③ 数组类 7④ 判断类 12⑤ 转换类 15⑥ 真实情况类 16⑦ 矩阵类 18⑧ 打印图形类 18⑨ 其他类 20⑩ 次序类 21① 求和类:1. 计算 S=1! +2! +3! +4! + oooooo +N!S=0K=1INPUT "N=" TO NFOR i=1 TO NK=K*iS=S+KEndfor?S2. 13 + 33 + 53 + 73 + +213SUM=0FOR I=1 TO 21 STEP 2SUM=SUM+「3ENDFOR求N的阶乘N的值 由键盘输入,应小于 20)INPUT “输入N的值”TO NP=1FOR 1=1 TO NP=P*IENDFOR?N, “!=” ,P?”SUM=”,SUM3. 有一分数序列,求前 20 项之和2 + 3 + 5 + 8 + 13 「丁 丁 S ~8-M=1N=2SUM=0FOR I=1 TO 20TERM=N/MSUM=SUM+TERMX=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 I=1 TO NSN=SN+AA=A*10+BENDFOR?"数列之和为:",SN5. 求e x的台劳级数展开式的前n项之和(运行时输入x=2.0,n=4)- X 2 X 3 Xn-1ex = 1 + x + + + +2! 3! (n -1)!INPUT “X=” TO XINPUT “N=” TO NSUM=1P=1FOR I=1 TO N-1P=P*IT=X"I/PSUM=SUM+TENDFOR?”SUM=”,SUM6. 求 1*2+3*4+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厂ENDFOR?S8. 计算连续自然数之和,并且显示和刚大于1000的最后一个自然数Sn=1+2+3+4+…+NSTORE 0 TO S,NDO WHILE S<=1000N=N+1S=S+NENDDO? N9. 求「2+4八2+7八2+・••一直加到超过1000为止,输出和数与项数。
I=1S=0N=0DO WHILE S<=1000S=S+广2I=I+3N=N+1ENDDO?N?S10.求1-100 之间所有奇数之和SUM=0FOR I=1 TO 100 STEP 2 SUM=SUM+IENDFOR? “SUM=”,SUM10.输出100到200之间所有能被 5或7整除的整数,并输出他们的和SUM=0FOR I=100 TO 200IF MOD(I,10)=5 AND MOD(I,7)=0SUM=SUM+I?IENDIFENDFOR ?“SUM=”,SUM 11.编程输出100~500 之间能被7 整除的奇数的个数N=0FOR 1=101 TO 500 STEP 2 IF M0D(I,7)=0N=N+1ENDIFENDFOR*6?)“n=”+N/(99*100)N=0FOR I=100 TO 500IF I%7=0 AND I%2=1N=N+1ENDIFENDFOR? “N=”,N12. 求 1/(1*2)+1/(3*4)+1/(5SUM=0FOR I=1 TO 99 STEP 2 SUM=SUM+1/(I*(I+1))ENDFOR ?"SUM=",SUM13.求如下级数前N项之和(X和N的值由键盘输入)x 2 x3 x4 xn1 + x + + + + + -2 3 4 nS=1INPUT TO XINPUT TO NFOR I=1 TO NS=S+XT/IENDFOR?“SUM=”,S14.输出3-100 之间的所有素数,并求其和。
SUM=0FOR J=3 TO 100FLAG=.T.FOR I=2 TO SQRT(J)IF MOD(J,I)=0FLAG=.F.EXITENDIFENDFORIF FLAG=.T.?JSUM=SUM+JENDIFENDFOR?"奇数之和是:",SUM② 方程类1. 完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值X 2 if x > 0Y = \ 0 if x = 0一 X 2 if X < 0INPUT "请输入X值:"TO XIF X>0Y=X*XELSEIF X=0Y=0ELSEY=-(X*X)ENDIFENDIF?Y2. 现有一元2次方程AX"2+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 D>0X1=(-B+SQRT(D))/(2*A)X2=(-B-SQRT(D))/(2*A)?X1?X2ELSEIF D>0X=-B/(2*A)?"X1=X2=",XELSE?"无解"ENDIFENDIFX if3.输入一个X的值,求Y的值。
Y= < 2X -1 if3 X -11 ifINPUT TO XDO CASECASE X<1Y=XCASE X<10Y=2*X-1CASE 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)= 10IF A(I)>BIGBIG=A(I)ENDIFIF A(I)BIGBIG=A(I)BP=IENDIFIF A(I)
DIMENSION A(10)FOR I=1 TO 10INPUT "输入10个整数" TO A(I)ENDFORINPUT "输入待査找的整数" TO XFOR I=1 TO 10IF X=A(I)? "YES"EXITENDIFENDFORIF I>10? "NO"ENDIF5.已有按从小到大的顺序排列的10 个数,现输入一个数,要求插入到数列中插入后数列 仍然按从小到大顺序排列DIMENSION A(11)FOR I=1 TO 10INPUT “递增输入 10 个整数” TO A(I)ENDFORINPUT “任意输入一个整数” TO XFOR I=10 TO 1 STEP -1IF X
DIME A(10)FOR I=1 TO 10INPUT “ ENTER AN INTEGER :” TO A(I)ENDFORFOR I=1 TO 9FOR J=I+1 TO 10IF A(I)>A(J)TEMP=A(I)A(I)=A(J)A(J)=TEMPENDIFENDFORENDFORFOR I=1 TO 10?A(I)ENDFOR 以上是一维数组(数组中只有一个 下标)程序举例在VFP中,还可以建立二维数组定义方法是:DIME A(2,3)第一维代表行,第二维代表列,这样就在内存中开辟了6 个连续的存储单元,数组元 素的名称分别为:A(1,1) A(1,2) A(1,3)A(2,1) A(2,2) A(2,3)。