c语言编程题及答案_第1页
c语言编程题及答案_第2页
c语言编程题及答案_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、1、输入 1,7,9,5,8,6,2,用冒泡法进行排序,按从小到大的1、输入 1,7,9,5,8,6,2,用冒泡法进行排序,按从小到大的顺序输出。#include main()int a7,i,j,t; for(i=0;i7;i+)scanf(%d,&ai); for(i=1;i=7;i+)for(j=0;jaj+1)t=aj; aj=aj+1; aj+1=t;for(i=0;i7;i+) printf(%d printf(n);2、编程判断输入的字符串是否为“回文倒读都一样,如abcba。#include main()char s20,l,i,flag=0; gets(s);l=strlen

2、(s); for(i=0;il/2;i+)if(si!=sl-i-1)flag=1; if(flag=0)printf(输入的字符串是回文n);elseprintf(输入的字符串不是回文n);335#includevoid main() int b(int x,int int sum=0;int a5; int i;printf(5个数:);for(i=0;i5;i+) scanf(%d,&ai); sum=b(a,5); printf(sum=%dn,sum);int b(int x,int n) int i,sum=0; for(i=0;i5;i+) sum=sum+xi;return s

3、um;4、编写程序,求满足 1*1+2*2+3*3+n*n=800 的最大n 是多少#include stdio.h void main()int n,s=0; for(n=1;s+n*n=800;n+)s=s+n*n; printf(s=%d,n=%dn,s,n-1);5、编程计算 1*2*3+4*5*6+.+97*98*99 的值。#include main()int s=0,i; for(i=1;i100;i)s=s+i*(i+1)*(i+2); i=i+3;printf(%ld,s);6n 和aa+aa+aaa+.+aa.a(na)的值。#include stdio.h void ma

4、in()int n,a,i,t=0,s=0; scanf(%d%d,&n,&a); for(i=1;i=n;i+)t=t*10+a; s=s+t;printf(a+aa+aaa+.+a(n 个 a)=%d,s);7、输出Fibonacci404Fibonacci1的和。#include void main()long int i; a0=1;a1=1;printf(%10ld%10ld,a0,a1); for(i=2;i40;i+)ai=ai-1+ai-2;printf(%10ld,ai); if(i%4=3)printf(n);8 、 输 入 3 个 学 生 4 门 课 的 成 绩 (60,

5、70,65,75)(75,80,75,90),(95,75,90,65),计算每个学生的总分和平均成绩并输出,结果保留一位小数。#include void main()float ave;int a34,i,j,s; for(i=0;i3;i+)s=0;for(j=0;j4;j+)scanf(%d,&aij); s=s+aij;printf(s=%d,ave=%fn,s,(float)s/4);9、求 100 之内自然数中最大的能被 31 整除的数。#include void main()int i; for(i=100;i0;i-)if(i%31=0)printf(%d,i); break;

6、1015#include void main()int n,a1,a2,a3; double sum=0;for(n=1,a1=1,a2=1;n=15;n+)a3=a1+a2; a1=a2; a2=a3; sum+=a3/n;printf(%d,sum);11、从键盘输入 10 个数,统计非正数的个数,并计算非正数的和。#includevoid main() int i,n=0,sum=0; int a10;printf(“请输入 10 个数:”);for(i=0;i10;i+) scanf(“%d”,&ai); for(i=0;i=0) sum=sum+ai; n+;printf(非负个数是

7、%d,sum=%dn,n,sum);12、输入任意三个数,按从小到大的顺序输出。#include stdio.h main()int x,y,z,t; scanf(%d%d%d,&x,&y,&z); if (xy)t=x;x=y;y=t;if(xz)t=z;z=x;x=t;if(yz)t=y;y=z;z=t;printf(small to big: %d %d %dn,x,y,z);13、输入一个不多于5 位的正整数,判断它是几位数,并逆序输出各位数字。#include void main()int n,i,j; scanf(%d,&n); if(n0&n=10&n=100&n=1000&n=

8、10000&n100000)printf(它是%d 位数!n,i=5);elseprintf(输入的数超出范围!n,i=0);for(j=0;ji;j+)printf(%d,n%10); n=n/10;141001010 次反弹多高?#include void main()float h=100,s=0; int i; for(i=1;i=10;i+)s=s+h; h=h/2; s=s+h;printf(当它第 10 次落地时,共经过了%f 米,第 10 次反弹%f 米高,s-h,h);15、编写程序,使用循环结构输出下列图形:* * * * * * * * * * * * * * * *#i

9、nclude stdio.h void main()int i,j; for(i=1;i=5;i+)for(j=1;j=5-i;j+) printf(); printf(* * * *n);16、求33a33=1,2,3,4,5,6,7,8,9非对角线上元素之和。#include void main()int a33=1,2,3,4,5,6,7,8,9;int i,j,s=0; for(i=0;i3;i+)for(j=0;j3;j+) if(i!=j&i+1!=2)s=s+aij;printf(%d,s);17、求 1-1/2+1/3-1/4+.+1/99-1/100 的值。#include

10、int main()int i;double sum,k=1; for(i=1,sum=0;i=100;i+)sum+=k/i; k*=-1;printf(%lfn,sum); return 0;18 编程计算 1*2*3+3*4*5+5*6*7+.+99*100*101 的值。#includevoid main() int i,sum=0; for(i=1;i=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf(%dn,sum);19、编程计算 1!+2!+3!+.+10!的值。#include void main() int i,j,sum1=1,sum=0;

11、for(i=1;i=10;i+)for(j=1;j=i;j+) sum1=sum1*j; sum=sum+sum1;printf(1!+2!+3!+10!=%ldn,sum);20、输入一串字符,逆序输出。要求使用数组实现。#include #include void int i,j,t,n; char printf(请输入字符串:);gets(a); n=strlen(a); for(i=0;in/2;i+)t=ai; ai=an-1-i;an-1-i=t;for(j=0;jn;j+) printf(%c,aj); printf(n);215#include int min(int a,in

12、t n)inti,j,t; for(i=1;i=n-1;i+)for(j=0;j=n-1-i;j+)if(ajaj+1)t=aj; aj=aj+1; aj+1=t;void main()inta5,i; for(i=0;i5;i+)scanf(%d,&ai); min(a,5); printf(%dn,a4);22、已知银行定期存款利率为 r=2.25%,输入存款本金 x、存款年数n,输出本利之和y=x(1+r)(1+r).(1+r),共n(1+r)#includevoid main()float x,y,r=0.0225; int i,n;printf(请输入存款本金 x 和存款年数 n:)

13、;scanf(%f%d,&x,&n); y=x;for(i=1;i=n;i+) y=y*(1+r); printf(%fn,y);23、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。#include void main()char ch;int sz,dz,xz,qt; sz=dz=xz=qt=0; while(ch=getchar()!=*)if(ch=0&ch=A&ch=a&ch=z) xz+;elseqt+;printf(数字:%d,大写字母:%d,小写字母:%d,其它字符:%dn,sz,dz,xz,qt);24

14、、求两个正整数的最大公约数#includevoid main() int m,n,m1,n1,t,k; printf(“请输入两个正整数scanf(“%d%d”,&m,&n); if(mn) t=m; m=n; n=t;m1=m; n1=n;while(k=m1%n1)!=0) m1=n1;n1=k;printf(%d 和%d 最大公约数是:%dn,m,n,n1);25、输入一串字符,将其中的大写字母变成对应的小写字母并输出。#include void main() int i,n;char a20;printf(请输入字符串:); gets(a);n=strlen(a); for(i=0;i

15、=A&ai=Z) ai=ai+32; for(i=0;in;i+) printf(%c,ai); printf(n);26、从键盘输入一个字符串,再输入两个正整数m 和n,输出字符串中从mnbcd。#include void int char printf(请输入字符串:);gets(a); n=strlen(a);printf(请输入两个正整数:);scanf(%d%d,&m,&n); for(i=m-1;im+n-1;i+) printf(%c,ai); printf(n);27、输入n1*1+2*2+3*3+4*4+5*5+.+n*n要求编写函数f 求平方。#includevoid ma

16、in() intf(int x); int n,sum;printf(请输 n 值:);scanf(%d,&n); sum=f(n); printf(%dn,sum);int f(int x) int j,z=0; for(j=1;j=x;j+)z=z+j*j; return z;28、打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。例如, 153 就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。#include void main() int a,b,c,s; for(a=1;a=9;a+)for(b=0;b=9;b+)for(c=0;c=9;c

17、+) if(a*100+b*10+c=a*a*a+b*b*b*b+c*c*c)s=a*100+b*10+c; printf(%dn,s);29、编写程序,将用户输入的字符串中所有的字符a 去掉,然后输出剩余的字符。#include void int char printf(请输入字符串:);gets(a); n1=strlen(a); for(i=0;in1;i+) if(ai!=a)printf(%c,ai); printf(n);30a输出。#include void int i,n; char printf(请输入字符串:);gets(b); n=strlen(b); for(i=0;i

18、n;i+) if(bi=a)bi=*; for(i=0;in;i+) printf(%c,bi); printf(n);31、编写程序,将一个一维数组的元素逆序存放并输出。例如,原顺序为 1,2,3,4,5,逆序后为 5,4,3,2,1。#include void main() int i; int a5;printf(“请输入 5 个数:”);for(i=0;i5;i+) scanf(“%d”,&ai); for(i=0;i2;i+)t=ai; ai=a4-i; a4-i=t;for(i=0;i5;i+) printf(%d ,bi); printf(n);32、起泡法(选择法)对十个数排序#include void main()int i,j,t

温馨提示

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

评论

0/150

提交评论