C语言期末考试编程题(共32页).doc
《C语言期末考试编程题(共32页).doc》由会员分享,可在线阅读,更多相关《C语言期末考试编程题(共32页).doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1.打印出所有的“水仙花数”,并按照一行5个的格式输出。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1*1*15*5*53*3*3。#includevoid main() int a,b,c,s,i=0; for(s=100;s1000;s+) c=s%10; b=s/10%10; a=s/100; if(s=a*a*a+b*b*b+c*c*c) printf(%dt,s); +i; if(i%5=0) printf(n); 2.求1+2!+3!+.+20!的和#includevoid main() dou
2、ble fact=1.0,sum=0.0; int i,j; for(i=1;i=20;i+) for(j=1;j=i;j+) fact*=j; sum+=fact; fact=1; printf(%.0fn,sum);3.输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。#include#includevoid main() long num; int a,b,c,d; printf(Please input the number:); scanf(%d,&num); if(num=) printf(%The number is error!n); e
3、xit(0); a=num/10000; b=num/1000%10; c=num/10%10; d=num%10; if(a=d&b=c) printf(nYes,the %ld is palindrome!n,num); else printf(nNo,the %ld is not palindrome!n,num);4. 求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并并按照一行5个的格式输出。#includevoid main() int num,i=0; for(num=1;num=1000;num+) if(num%7|num%11)=1)&(num%7&
4、num%11)=0) printf(%dt,num); +i; if(i%5=0) printf(n); 5.编程列出200以内所有的素数,按照一行10个的格式输出,并求出所有素数的平均值,#include#includevoid main() int i,j,k=0,sum=0,avg=0; for(i=2;i200;i+) for(j=2;jsqrt(i) printf(%dt,i); +k; sum+=i; if(k%10=0) printf(n); avg=sum/k; printf(nThe average is %dn,avg);6、编写一个函数,输入n为偶数时,调用函数求1/2+
5、1/4+.+1/n,当输入n为奇数时,调用函数1+1/3+1/5.+1/n#includevoid main() void odd(int n); void even(int n); int n; printf(Please input the number:); scanf(%d,&n); if(n%2) odd(n); else even(n);void odd(int n) float sum=0.0; float j; int i; for(i=1;i=n;i+=2) j=1.0/i; sum+=j; printf(%fn,sum);void even(int n) float sum
6、=0.0; int i; float j; if(n=0) printf(%fn,sum); else for(i=2;i=n;i+=2) j=1.0/i; sum+=j; printf(%fn,sum); 7、 已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。#includevoid main() int a,b,c; for(a=1;a=9;a+) for(b=0;b=9;b+) for(c=1;c=9;c+) if(100*a+10*b+c+100*c+10*b+a)=1333) printf(a=%d,b=%d,c=%dn,a,b,c);8
7、、用户输入12个0100之间的整数,统计出小于60,60到79,80到100三个范围的整数各有多少个?#include#includevoid main() int i,j,k,n,num; i=j=k=0; printf(Please input the 12 numbers with 0100:); for(n=1;n=0&num=100) exit(0); if(num60) +i; else if(num80) +j; else +k; printf(nThere are %d numbers less than 60,%d numbers between 60 and 79,%d n
8、umbers between 80 and 100.n,i,j,k);9、求这样一个三位数并输出该数字,该三位数等于其每位数字的阶乘之和。即:abc = a! + b! + c!#includevoid main() int a,b,c,num; int s(int); for(num=100;num1000;num+) a=num/100; b=num/10%10; c=num%10; if(num=s(a)+s(b)+s(c) printf(The number is %dn,num); break; s(int n) int i,sum=1; for(i=1;i=n;i+) sum*=i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 编程 32
限制150内