天津理工大学C语言上机题库.doc_第1页
天津理工大学C语言上机题库.doc_第2页
天津理工大学C语言上机题库.doc_第3页
天津理工大学C语言上机题库.doc_第4页
天津理工大学C语言上机题库.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1.键盘上输入n个数,输出最大值最小值#includevoid main()int array50;int i,n;printf(please input numbers , input 0 to stopn);for(i=0;in;i+)scanf(%d,&arrayi);for(i=0;i=arrayi+1)array0=arrayi+1;printf(the min number is %dn,array0);for(n=0;n=i-2;n+)if(array0=arrayi+1)array0=arrayi+1;printf(the max number is %dn,array0);2.求一个3位数abc使得a的阶乘+b的阶乘+c的阶乘=abc#includevoid main()int jiecheng(int a);int a,b,c;for(a=1;a=9;a+)for(b=1;b=9;b+)for(c=1;c=9;c+)if(jiecheng(a)+jiecheng(b)+jiecheng(c)=a*100+b*10+c)printf(a is %d,b is %d ,c is %d n,a,b,c);int jiecheng(int a)int i,s=1;for(i=1;i=a;i+)s=s*i;return s;/输出145 3.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。#includevoidmain()inti;floatm=1,n=1,t,s=0;for(i=1;i=20;i+)/*就是进行二十次循环,求个和*/t=m+n;s=s+t/n;m=n;n=t;printf(%9.6fn,s); 4.输入整数N,求N的阶乘#includevoid main()int i,j=1,n;scanf(%d,&n);for(i=1;i=n;i+) j=j*i;printf(%dn,j);/*注意在实际打的时候,i,j要定义为float型,其初值比都是1*/5.输入一串正整数,倒序输出#includevoid main()int a10,i;for(i=0;i=0;i-)printf(%dn,ai);6. 求101000之间所有数字之和为5的整数的个数 #includeint main() int i; int counter=0; for(i=100; i1000; +i) if(i/100+(i/10)%10 + i%10 = 5) +counter; printf(%dn,counter); return 0;7. 输入字符串打印除小写,元音,字母之外的。用数组#includevoid main()int i,j;char s20; /*字符串长度(实际上是字符总数)不超过20*/for(i=0;i20;i+) /*从s0开始,逐个字符输*/scanf(%c,&si);for(j=0;j20;j+)if(sj!=a&sj!=e&sj!=i&sj!=o&sj!=u)printf(%c,sj); /*不换行,各字符在一行输出*/8. 从键盘输入10个整数,计算其中偶数的和以及偶数平均数,(用小数表示)#include void main() int a10; int i,s=0; float m; for(i=0;i=9;i+) scanf(%d,&ai); if(ai%2=0)printf(%d%dn,ai,i);s=s+ai;m=(float)(s)/10;printf(%d%fn,s,m);9. 从键盘输入10个整数,计算其中奇数之和以及奇数的平均数,(用小数表示)#includevoid main()int a10,i,sum=0;float m;for(i=0;i=9;i+)scanf(%d,&ai); if(ai%2!=0) sum=sum+ai;m=(float)(sum)/10;printf(%fn,m);10. 循环语句求Sn=a+aa+aaa+aaaa(n个a)的值其中a是一个数字n由键盘输入#include main() double n1,x,t,t1;int cx,i; scanf(%lf,%d,&n1,&cx); t=n1; t1=n1; for(i=1;icx;i+) t=t*10+n1; t1+=t; printf(%0.0lf,t1); 11.求1!+2!+3!+n!(当 n=10时 得4037913)#includevoid main()int i,j=1,n,sum=0;scanf(%d,&n);for(i=1;i=n;i+)j=j*i; sum=sum+j;printf(%dn,sum);12.1*1+2*2+.+n*n=1000的最大数n#include#includevoid main()int i,j=1,k,sum=0;for(i=1;sum=1000;j+)i=j*j;sum=sum+i;k=sqrt(i)-1;printf(%dn,k);13. 01000同时被7和13整除的数#includevoid main()int n;for(n=1;n=1000;n+)if(n%7=0&n%13=0)printf(%dn,n);14.1/1+1/2+1/3+1/20#includevoid main()int i,j=1,n;float sum=0; n=1+2*(20-1);for(i=1;i=n;)sum=sum+j/(float)(i); /*变i或变j都一样,运算后自然向高级靠拢,不能都变!*/i=i+2;printf(%fn,sum);15.sum=1-1/3+1/5-1/7+1/n (1/n0.0001)#include#includevoid main()int i,j=1;float k=1,sum=0;for(i=1;fabs(float)(j)/i)1e-4;)sum=sum+(float)(j)/i;if(i0)i=i+2;i=-i;elsei=i-2;i=-i;printf(%fn,sum);16.求e用e=1+1/1!+1/2!+1/n!(1/n!10的-6次方)#includevoid main()int i,j=1,n=1;float sum=1;for(i=1;(float)(i)/n)1e-6;j+)n=n*j;sum=sum+(float)(i)/n;printf(%fn,sum);17.用4约等于1-1/3+1/5-1/7+直到某一项的绝对值小于10的-6次方为止#include#includevoid main()float j=1,pi=0,n=1.0; /*pi就是*/int i=1;while(fabs(j)1e-6) /*最后一项绝对值大于10的-6次方,用到了数学函数*/pi=pi+j;i=-i;n=n+2;j=i/n;pi=pi*4;printf(%10.6fn,pi); /*规定长为十位,有六位小数*/18输出110的阶乘,分行打出#includevoidmain()inti,j=1;for(i=1;i=10;i+)j=j*i;printf(%dn,j); 19.输入正数,判断是否是素数#includevoid main()int i,m;scanf(%d,&m);for(i=2;i=m;i+)if(m%i=0)break; /*这句话很关键*/if(im)printf(%d不是一个素数,m);elseprintf(%d是一个素数,m);20.1+(1+2)+(1+2+3)+(1+2+n)输入n=20,得1540#includevoid main()int i,n,temp=0,sum=0; scanf(%d,&n);for(i=1;i=n;i+)temp=temp+i;sum=sum+temp;printf(%dn,sum);21.输入年月,输出该月有多少天。#includevoid main() int a,c; scanf(%d,%d,&a,&c);if(a%4=0)&(a%100!=0)|(a%400=0)if(c=2)printf(29n);elseif(c=2)printf(28n); switch(c) case 1: case 3: case 5: case 7: case 8: case 10: case 12:printf(%dn,31);break; case 4: case 6: case 9: case 11:printf(%dn,30);break;22. 编一个计算器,可以计算“+”“-”“*”“/”#include void main() float a,b; char f; scanf(%f,&a); f=getchar(); scanf(%f,&b); switch(f) case+:printf(a+b=%f,a+b);break;case-:printf(a-b=%f,a-b);break;case*:printf(a*b=%f,a*b);break;case/:printf(a/b=%f,a/b);break;default:printf(input error!n); 23.求555555的约数中最大的3位数:777#includevoid main()long j=555555;int i;for(i=999;i=100;i-)if(j%i=0)printf(%dn,i);break;24. 韩信点兵:士兵5人一行,末行一人;6人一行,末行5人;7人一行,末行4人,11人一行,末行10人。求士兵人数11:2111#includevoid main()int i;for(i=11;i=3000;i+)if(i%5=1&i%6=5&i%7=4&i%11=10)printf(%dn,i);25. 爱因斯坦阶梯问题(119)#includevoid main()int i;for(i=1;i=200;i+)if(i%2=1&i%3=2&i%5=4&i%6=5&i%7=0)printf(%dn,i);26.输入m,n求其最小公倍数#includevoid main()int m,n,max,min,i;printf(请输入两个数(逗号隔开):);scanf(%d,%d,&m,&n);if(mn)i=m;m=n;n=i;for(i=m;i0;i-)if(m%i=0 & n%i=0)max=i;min=m*n/max;break;printf(这两个数的最小公倍数是%dn,min); 27输入m,n求其最大公约数#includevoid main()int m,n,max,i;printf(请输入两个数(逗号隔开):);scanf(%d,%d,&m,&n);if(mn)i=m;m=n;n=i;for(i=m;i0;i-)if(m%i=0 & n%i=0)max=i;break;printf(这两个数的最大公约数是%dn,max); 1.输入两个正整数,m和n,求其最大公约数和最小公倍数。#includevoid main()int m,n,max,min,i;printf(请输入两个数(逗号隔开):);scanf(%d,%d,&m,&n);if(mn)i=m;m=n;n=i;for(i=m;i0;i-)if(m%i=0 & n%i=0)max=i;min=m*n/max;break;printf(这两个数的最大公约数是%d,最小公倍数是%dn,max,min); 28输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includevoid main()char c;int letters=0,space=0,digit=0,other=0;printf(请输入一行字符:n);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9)digit+;elseother+;printf(字母数:%dn 空格数:%dn 数字数:%dn 其他字符数:%dn,letters,space,digit,other);29. 输入十个数,将其排序#includevoid main() int i,j,k,a10; printf(Please input 10 numbers:); for(i=0;i10;i+) scanf(%d,&ai); for(j=0;j9;j+) for(i=0;iai+1) k=ai; ai=ai+1; ai+1=k; for(i=0;i10;i+) printf(%dn,ai);30. 输出100200之间的素数#includeint judge(int a) int j=1,i; for(i=2;i=a-1;i+) if(a%i=0) j=0; return(j);void main() int b,c; printf(The prime numbers in 100200 are:n); for(b=0;b10;b+) for(c=0;c10;c+) if(judge(100+10*b+c) printf(%d ,100+10*b+c); 31.由36块砖,男人一次可以搬4块,女人一次可以搬3块,2个小孩一次可以搬一块,问男人女人小孩各需多少人可以一次性将砖搬完。(key :man3 woman 3 child 30)#includevoid main() int a,b,c,d; for(a=0;a=9;a+) for(b=0;b=12;b+) for(c

温馨提示

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

评论

0/150

提交评论