C语言期末考试编程题_第1页
C语言期末考试编程题_第2页
C语言期末考试编程题_第3页
C语言期末考试编程题_第4页
C语言期末考试编程题_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上1.打印出所有的“水仙花数”,并按照一行5个的格式输出。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1*1*15*5*53*3*3。#include<stdio.h>void main() int a,b,c,s,i=0; for(s=100;s<1000;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、; 2.求1+2!+3!+.+20!的和#include<stdio.h>void main() double 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<stdio.h>#include<stdlib.h>void main() long n

3、um; int a,b,c,d; printf("Please input the number:"); scanf("%d",&num); if(num<=9999|num>=) printf("%The number is error!n"); exit(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);

4、else printf("nNo,the %ld is not palindrome!n",num);4. 求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并并按照一行5个的格式输出。#include<stdio.h>void main() int num,i=0; for(num=1;num<=1000;num+) if(num%7|num%11)=1)&&(num%7&&num%11)=0) printf("%dt",num); +i; if(i%5=0) printf(&qu

5、ot;n"); 5.编程列出200以内所有的素数,按照一行10个的格式输出,并求出所有素数的平均值,#include<stdio.h>#include<math.h>void main() int i,j,k=0,sum=0,avg=0; for(i=2;i<200;i+) for(j=2;j<=sqrt(i);j+) if(i%j=0) break; if(j>sqrt(i) printf("%dt",i); +k; sum+=i; if(k%10=0) printf("n"); avg=sum/k;

6、 printf("nThe average is %dn",avg);6、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+.+1/n,当输入n为奇数时,调用函数1+1/3+1/5.+1/n#include<stdio.h>void 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(i

7、nt 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=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均为一位数,编程求出满足条

8、件的a,b,c所有组合。#include<stdio.h>void 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、用户输入12个0100之间的整数,统计出小于60,60到79,80到100三个范围的整数各有多少个?#include<stdio.h>#include<stdlib.h>void

9、main() int i,j,k,n,num; i=j=k=0; printf("Please input the 12 numbers with 0100:"); for(n=1;n<=12;n+) scanf("%d",&num); if(!(num>=0&&num<=100) exit(0); if(num<60) +i; else if(num<80) +j; else +k; printf("nThere are %d numbers less than 60,%d numbers

10、 between 60 and 79,%d numbers between 80 and 100.n",i,j,k);9、求这样一个三位数并输出该数字,该三位数等于其每位数字的阶乘之和。即:abc = a! + b! + c!#include<stdio.h>void main() int a,b,c,num; int s(int); for(num=100;num<1000;num+) a=num/100; b=num/10%10; c=num%10; if(num=s(a)+s(b)+s(c) printf("The number is %dn&quo

11、t;,num); break; s(int n) int i,sum=1; for(i=1;i<=n;i+) sum*=i; return sum;10、猜数游戏:由用户随机输入一个1位正整数数让人来猜,只能猜5次,如果人猜对了,则在屏幕上显示“You are so clever”,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止或者5次都猜不对给出提示“Game Over”。#include<stdio.h>#include<stdlib.h>void main() int num,i,n; printf("Please input t

12、he number with 09 for guessing:"); scanf("%d",&num); system("cls"); if(num<0|num>9) exit(0); for(i=1;i<=5;i+) printf("nPlease input the number you guess:"); scanf("%d",&n); if(num=n) printf("nYou are so clever!n"); break; else i

13、f(n<num) printf("nThe number you input is little,go on please!You have %d times left!n",5-i); continue; else printf("nThe number you input is large,go on please!You have %d times left!n",5-i); continue; if(i>5) printf("Game Over!n");11、设N是一个四位数,它的9倍恰好是其反序数(例如:123的

14、反序数是321),求N的值。#include<stdio.h>void main() int n,k,a,b,c,d; for(n=1000;n<=9999;n+) a=n/1000; b=n/100%10; c=n/10%10; d=n%10; k=1000*d+100*c+10*b+a; if(k=9*n) printf("N=%dn",n); 12、100匹马驮100担货,大马一匹驮担,中马一匹驮担,小马两匹驮担。试编写程序计算大、中、小马的数目。#include<stdio.h>void main() int h1,h2,h3; for

15、(h1=0;h1<=100;h1+) for(h2=0;h2<=100;h2+) for(h3=0;h3<=100;h3+=2) if(h1+h2+h3=100&&3*h1+2*h2+1/2*h3=100) printf("The old horse has %d,middle horse has %d,young horse has %dn",h1,h2,h3); 13、一位司机酒驾撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车

16、号刚好是一个整数的平方。请根据以上线索求出车号。(车号为4位数)#include<stdio.h>#include<math.h>void main() int n,a,b,c,d,i; for(n=1000;n<=9999;n+) a=n/1000; b=n/100%10; c=n/10%10; d=n%10; i=sqrt(n); if(a=b&&c=d&&i*i=n) printf("%dn",n); 14、求S=1/(1*2)+1/(2*3)+1/(3*4)+前50项之和并输出结果。#include<

17、;stdio.h>void main() float i; float s=0; for(i=1;i<51;i+) s+=1.0/(i*(i+1); printf("%f",s);15、编程求出所有1000到3000之间能被7、11、17同时整除的整数,并求其平均值,并输出结果(结果保留两位小数)。#include<stdio.h>void main() int i,k=0,sum=0; for(i=1000;i<=3000;i+) if(i%7=0&&i%11=0&&i%17=0) sum+=i; +k; pr

18、intf("%dt",i); printf("n%d",sum/k);16、编程找出满足下列条件的所有四位数的和并输出:该数第一、三位数字之和为10,第二、四位数字之积为12。#include <stdio.h>#include <conio.h>int main(void) int i,j,x,y,z,m; for(i = 1000; i< 10000; i+) x = i/1000; y = (i/100)%10; z = (i/10)%10; m = i%10; if(x + z)=10&&(y+ m)

19、=12) printf("%dt",i); printf("n"); return 0;17、求并输出所有满足如下条件的三位正整数:它是某整数的平方,它的三位数码有两位是相同的。(如100是10的平方,它有两个0,225是15的平方,它有两个2)。#include<stdio.h>#include<math.h>void main() int n,i,a,b,c; for(n=100;n<=999;n+) a=n/100; b=n/10%10; c=n%10; i=sqrt(n); if(a=b|a=c|b=c)&&n=i*i) printf("%dt",n); 18、输出所有大于1010的4位偶数,且该类偶数的各位数字两两不相同。#include<stdio.h>void main() int num,a,b,c,d; fo

温馨提示

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

评论

0/150

提交评论