C语言编程题类型总结_第1页
C语言编程题类型总结_第2页
C语言编程题类型总结_第3页
C语言编程题类型总结_第4页
C语言编程题类型总结_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言编程题类型总结目录 求和类: 2 方程类 5 数组类 7 判断类 12 转换类 15 真实情况类 16 矩阵类 18 打印图形类 18 其他类 20 次序类 211I=13 求和类:1. 计算 S=1! +2! +3! +4! +000000 +N!S=0K=1INPUT N= TO NFOR i=1 TO NK=K*iS=S+KEn dfor?S2. 求 13 33 53 -213SUM=0FOR I=1 TO 21 STEP 2SUM=SUM+IA3ENDFOR?” SUM= ,SUM3.有一分数序列,求前20项之和13_M=1N=2SUM=0FOR I=1 TO 20TERM=N/

2、M SUM=SUM+TERM X=NN=M+NM=XTERM=N/MENDFOR?” SUM= ,SUM求N的阶乘( N的值 由键盘输入,应小于20)INPUT “输入N的值”TO NP=1FOR I=1 TO NP=P*IENDFOR?N, “!= ” ,P4.求Sn=a+aa+aaa+aaaa,其中,a是一个数字,a的个数为n, a和n由键盘输入INPUT 输入a的值:TO AINPUT 输入项数 n: TO NSN=0B=AFOR I=1 TO NSN=SN+AENDFOR?数列之和为:,SNx5. 求e的台劳级数展开式的前 n项之和(运行时输入x=2.0,n=4)23n_1x ,X X

3、Xe 二 1 x2!3!(n-1)!INPUT “ X=” TO XINPUT “ N=” TO NSUM=1P=1FOR 1=1 TO N-1P=P*IT=XAI/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)A(|-1)/|ENDFOR?S8. 计算连续自然数之和

4、,并且显示和刚大于1000的最后一个自然数Sn=1+2+3+4+NSTORE 0 TO S,NDO WHILE S=1000N=N+1S=S+NENDDO? N9. 求M2+4A2+7A2+一直加到超过1000为止,输出和数与项数S=0N=0DO WHILE S0Y=X*XELSEIF X=0ELSEY=-(X*X)ENDIFENDIF?Y2.现有一元2次方程AXA2+BX+C=0其中A B C是整数且A不等于0若存在实根,则输出“在实数范围内有解” 若不存在实根 则输出“在实数范围内无解” / 求解INPUT TO AINPUT TO BINPUT TO CD=B*B-4*A*CIF D=0

5、? 在实数范围内有解 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*A)?X1?X2ELSEIF D0X=-B/(2*A)?X1=X2=,XELSE? 无解 ENDIFENDIFY=07X 11 =: X 10X =10X if3. 输入一个 X的值,求 Y的值。Y=丿2X1if3X -11 if1INPUT TO XDO CASECASE X1Y=XCASE X=10Y=3*X-11ENDCASE?Y 数组类1. 输入10个数,输

6、出其中小于平均值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)BIGBIG=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 T

7、O 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.数组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

8、 A(I)A(J)TEMP=A(I)A(I)=A(J)A(J)=TEMPENDIFENDFOR ENDFOR FOR 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)二维数组的元素赋初值及其处理通常要用二重循环,外循环代表行,内循环代表列。如:FOR I=1 TO 2FOR J=1 TO 3INPUT TO

9、A(I,J)ENDFORENDFOR二维数组特别适合用来解决矩阵问题。矩阵中有如下几个术语要掌握:行列相等的矩 阵叫方阵;方阵中有主对角线、辅对角线、下三角元素、外围元素等1.建立一个六行六列的方阵,求出两条对角线上所有元素之和。DIME A(6,6)FOR I=1 TO 6FOR J=1 TO 6INPUT TO A(I,J)ENDFORENDFORDIME A(6,6)FOR I=1 TO 6FOR J=1 TO 6 A(I,J)=I+JENDFORENDFOR为”,SUMSUM=0SUM=0FOR k1 TO For i=1 to 6sum=aSUMAA7-i9+a(i,7-i)ENDF

10、ORENDFOR 一?两条对角线上所有元素之和为上所有U元素之和ZF=0SF=0FOR 1=1 TO 6FOR J=1 TO 6IF I=JSZ=SZ+A(I,J)ENDIFIF I+J=7SF=SF+A(I,J)ENDIFENDFORENDFOR? “两条对角线上所有元素之和为”,SZ+SF2. 一个四行五列的矩阵,求出其中最大元素的值,以及所在的行号与列号。DIME A(4,5)FOR 1=1 TO 4FOR J=1 TO 5INPUT TO A(I,J)ENDFORENDFORBIG=A(1,1)ROW=1COL=1FOR 1=1 TO 4FOR J=1 TO 5IF A(I,J)BIG

11、 BIG=A(I,J) ROW=I COL=J ENDIFENDFOR ENDFOR ?BIG, ROW, COL3. 求两个矩阵之和,即C(3,4)=A(3,4)+B(3,4)DIME A(3,4),B(3,4),C(3,4)FOR I=1 TO 3FOR J=1 TO 4 INPUT 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?ENDFORDIME A(3,4),B(3,4),C(3,4)FOR I=1 TO 3FOR J=1

12、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 I=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 AND MOD(Y,4)=0 OR MOD(Y,400)=0?Y,a .”is a

13、 leap year.ELSE?Y,a?is a com mon 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=INT(N/8)ENDDO?OCTSET TALK ONCANCE

14、L4. 从键盘输入一个二进制数,将其转换成等值的十进制数。S=0ACCEPT“ENTER A BINARY NUMBE”R: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 NIF N=0BIN=“0”ENDIFDO WHILE N0R=MOD(N,2)BIN= STR(R,1)+BINN=INT(N/2)ENDDO? “等值的二进制数为” ,BIN 真实情况类6 元, 2.5 公里以

15、外,每DO CASE语句1. 输入乘车的公里数,输出乘车费(计费标准: 2.5 公里之内是 超过 1 公里增加 1 元 2 角)INPUT 输入公里数 TO XIF X2.5PAY=(X-2.5)*1.2+6ELSEPAY=6ENDIF? 应付费 ,PAY, 元2. 6) 设交纳所得税的规定如下:收入 =1500 元 免交所得税1500 元 收入 =3000 元 所得税为 5%3000 元 收入 =6000 元所得税为 8%6000 元 收入 =10000 元所得税为 10%10000 元 收入 50000 元所得税为 20% 请编程,从键盘输入一个数,计算应交纳的所得税。INPUT “INC

16、OME”= TO XDO CASECASE X=1500 TAX=0CASE X=3000TAX=(X-1500)*0.05CASE X=6000TAX=(X-3000)*0.08+(3000-1500)*0.05CASE X=10000TAX=(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. 编写学生成绩统计程序。设有三位同学,考数学、物理、化学三门课,统计每个同学 的总分和平均分SET

17、 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 J=1 TO 6?S(I,J)ENDFOREND

18、FORSET 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 A(I,J)S=S+A(I,J)ENDFORENDF

19、ORFOR I=2 TO 4FOR J=2 TO 4S1=S1+A(I,J)ENDFORENDFOR?S-S1 打印图形类1. 打印如下图形 :*CLEARFOR 1=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?” * ”ENDFOR?ENDFOR2. 打印如下所示的九九乘法表Microsoft Visual FauPro-I I X文

20、件编辑旧 显示肿工具程駅臼 窗口他)帮助时162024配芟3612 3 4 56 7 8 9仍3035M45di4 26 79 6 34 5 6 clearfor N=1 TO 9for M=1 TO Nx +alltrim(str(M)+=+ alltrim(str(N*M)+space(5)x +alltrim(str(M)+=+ alltrim(str(N*M)+space(5)? alltrim(str(N)+ endfor?Endfor clearN=1DO WHILE N=9M=1DO WHILE M=N ? alltrim(str(N)+ M=M+1ENDDO?N=N+1ENDD

21、O 其他类1. 输入两个数和一个运算符 (加、减、乘、除 ) ,求其值。例如 , 输入 3 和 5 以及 *, 则 输出 15INPUT “输入一个数 :” TO AINPUT “输入另一个数 :” TO BACCEPT “输入运算符:” TO CHDO CASECASE CH=“ +”? “两数之和为 : ” ,A+BCASE CH=” - “? “两数之差为 : ” ,A-BCASE CH=” *”? “两数之积为 : ” ,A*BCASE CH=“ / ”? “两数之商为 : ” ,A/BOTHERWISE? “运算符有错 !”ENDCASE2. 输入一个正整数,分解出所有因子。如 18=1*2*3*3 ,23=1*23INPUT 输入一个正整数

温馨提示

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

评论

0/150

提交评论