C+上机复习题及答案

上传人:20****03 文档编号:175225629 上传时间:2021-03-22 格式:DOC 页数:8 大小:42.50KB
返回 下载 相关 举报
C+上机复习题及答案_第1页
第1页 / 共8页
C+上机复习题及答案_第2页
第2页 / 共8页
C+上机复习题及答案_第3页
第3页 / 共8页
C+上机复习题及答案_第4页
第4页 / 共8页
C+上机复习题及答案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C+上机复习题及答案》由会员分享,可在线阅读,更多相关《C+上机复习题及答案(8页珍藏版)》请在金锄头文库上搜索。

1、1有3个整数a,b,c,由键盘输入,输出其中最大的数 #includevoid main() int a,b,c;printf(输入三个数:);scanf(%d%d%d,&a,&b,&c);if(ab&ac)printf(最大值为:%d,a);else if(ba&bc)printf(最大值为:%d,b);elseprintf(最大值为:%d,c);2给出一百分制成绩,要求输出成绩等级A、B,C,D,E。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。#includevoid main() float grade;scanf(%f,&grade);if (grade=

2、90&=80&=70&grade=60&70)printf(D);elseprintf(E);3. 输入两个正整数m和n,求其最大公约数和最小公倍数。(辗转相除法)#include main() int a,b,m,n,temp; printf(请输入两个整数:n); scanf(%d%d,&m,&n); if(mn) temp=m; m=n; n=temp; a=m;b=n; while(b!=0) temp=a%b; a=b; b=temp; printf(最大公约数是:%dn,a); printf(最小公倍数是:%dn,n*m/a);4、 计算100至999之间有多少个数,其各位数字之和

3、是5。例如:122、131是满足要求的数的两个例子。(穷举法)#includevoid main()int num=100,s=0;while (num1000) if(num/100+num%100/10+num%100%10)=5) printf(%dn,num); s=s+1; num+; printf(输出满足条件的数字的个数:%dn,s);5.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。#include#includevoid main() int number;for(number=

4、100;number1000;number+)if(pow(number/100,3)+pow(number%100/10,3)+pow(number%100%10,3)=number)printf( “%dn”n,ntf(%d;,number);6. 求Sn=a+aa+aaa+aaa(n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。#includevoid main()int s=0,i,a,n;printf(请输入两个数:);scanf(%d%d,&a,&n);for(i=1;i=n;i+)s=s+a;a=10*a+a;printf

5、(s=%dn,s);7 求100200间的全部素数。#include #include void main() int m,k,i,n=0; int num=0; for(m=101;m=200;m=m+2) k=sqrt(m); for(i=2;i=k+1) printf(%d ,m); n=n+1; num+; if(n%5=0) printf(n); printf(n全部素数有:%dn,num); 8 定义一个2*3矩阵,输入/输出数值#includevoid main() int i,j,a23; for(i=0;i2;i+) for(j=0;j3;j+) scanf(%d,&aij)

6、; for(i=0;i2;i+) for(j=0;j3;j+) printf(%d ,aij); printf(n); 9. 求一个3*3矩阵对角线元素之和。#includemain()int a33,i,j,sum=0;printf(请输入数组元素:(3*3)n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);printf(n);printf(数组为:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%4d,aij); printf(n);printf(n);printf(对角线的和:n);for(i=0;i3;i+)for(

7、j=0;j3;j+)if(i=j|2-i=j)sum+=aij;printf(%dn,sum);10. 用二分法求下面方程在(-10,10)之间的根。 2x3-4x2+3x-6=0#include #include void main() float x0,x1,x2,f0,f1,f2; do printf(please enter x1 & x2:n); scanf(%f,%f,&x1,&x2); f1=(2*x1-4)*x1+3)*x1-6; f2=(2*x2-4)*x2+3)*x2-6; while (f1*f2)0); do x0=(x1+x2)/2; f0=(2*x0-4)*x0+3

8、)*x0-6; if (f0*f1)=1e-5); printf(the root of equation is :%fn,x0);11. 求Fibonacci数列前40个数。这个数列有如下特点:第1,2两个数为1,1。从第3个数开始,该数是其前面两个数之和。即:F1=1 (n=1)F2=1 (n=2)Fn=Fn-1+Fn-2 ( n=3)#include void main() int a40,i; a0=1;a1=1; for(i=2;i=40;i+) ai=ai-1+ai-2; for(i=0;i=40;i+) printf(%dn,ai);12. 这是一个有趣的古典数学问题:有一对兔子

9、,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?#include void main() int a40,i; a0=1;a1=1; for(i=2;i=40;i+) ai=ai-1+ai-2; for(i=0;i=40;i+) printf(%dn,ai);13 用起泡法对十个数排序(由小到大)#includevoid main() int a10; /*定义数组、变量,初始化*/ int i,j,t; printf(input 10 numbers:n); for(i=0;i10;i+) scanf(%d,&ai

10、); printf(n); for(j=0;j9;j+) /*开始进行排序*/ for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t; printf(the sorted mumbers:n); for(i=0;i10;i+) printf(%d,ai); printf(n);14.用选择法对输入的10个整数排序。#include void main()int a10,i,j;for(i=0;i10;i+)printf(请输入第%d个:,i+1);scanf(%d,&ai);for(i=0;i9;i+)for(j=i+1;j10;j+)if(aiaj)int k;k=ai;ai=aj;aj=k;for(i=0;i10;i+)printf(%d ,ai);15.写程序,判断某一年是否闰年。 #include void main() int year,leap; printf(请输入一个年份:); scanf(%d,&year); if(year%4=0) if(year%100=0) if(year%400=0) leap=1;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号