《C语言期末考试编程题3.pdf》由会员分享,可在线阅读,更多相关《C语言期末考试编程题3.pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.打印出所有的“水仙花数%并按照一行5个的格式输出。所谓“水仙花数 是指一个三位数,其各位数字立方和等于该数本身。例 如:153是一个“水 仙 花 因 为 153=1*1*1+5*5*5+3*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(%dtn,s);+i;if(i%5=0)printf(nnn);)2,求1+2!+3!+.+20!的和#i n c l u d e vo i d m a i n ()(d o
2、 u b l e f a c t=l.0,s u m=0.0;i n t i,j;f o r (i=l;i =20;i+)f o r (j=l;j=i;j+)f a c t*=j;s u m+=f a c t;f a c t=l;p r i n t f (.O f n,s u m);)3.输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。#i n c l u d e#i n c l u d e vo i d m a i n O|l o n g n u m;i n t a,b,c,d;p r i n t f(P l e a s e i n p u t t
3、h en u m b e r:);scanf(%d”,&num);if(num=100000)prin tf(The number iserro r!n);exit(0);)a=num/10000;b=num/1000%10;c=num/10%10;d=num%10;if(a=d&b=c)printf(XnYes,the%ld ispalindrome!n,num);elsep r i n t f (n N o,t h e%l d i s n o tp a l i n d r o m e!n,n u m);)4.求 出1到1 0 0 0之内能被7或1 1整除、但不能同时被7和1 1整除的所有整
4、数并并按照一行5个的格式输出。#i n c l u d e vo i d m a i n()(i n t n u m,i=0;f o r (n u m=l;n u m =1 0 0 0;n u m+)i f(n u m%7|n u m%l l)=l)&(n u m%7&n u m%l l)=0)p r i n t f (%d t”,n u m);+i;i f(i%5=0)p r i n t f(n);)5.编程列出2 0 0以内所有的素数,按照一行1 0个的格式输出,并求出所有素数的平均值,#i n c l u d e#i n c l u d e vo i d m a i n Oi n t i
5、,j,k=0,s u m=0,a vg=0;for(i=2;i200;i+)for(j=2;jsqrt(i)(pr i nt f i);+k;sum+=i;if(k%10=0)printf(n);avg=sum/k;p r i n t f(n T h e a ve r a g ei s%d n/z,a vg);)6、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+.+l/n,当输入n为 奇 数 时,调 用 函 数1+1/3+1/5.+l/n#i n c l u d e vo i d m a i n O|vo i d o d d(i n t n);vo i d e ve n(i n t
6、n);i n t n;p r i n t f(P l e a s e i n p u t t h en u m b e r:);scanf(%d”,&n);if(n%2)odd(n);elseeven(n);)void odd(int n)(float sum=0.0;float j;int i;for(i=l;i=n;i+=2)|j=l.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=l.0/i;s u
7、m+=j;p r i n t f(/f n,s u m);)7、已知 a b c+c b a=1 3 3 3,其中 a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。#i n c l u d e vo i d m a i n O(i n t a,b,c;f o r(a=l;a =9;a+)f o r (b=0;b =9;b+)f o r (c=l;c =9;c+)i f (1 0 0*a+1 0*b+c+1 0 0*c+1 0*b+a)=1 3 3 3)p r i n t f (a=%d,b=%d,c=%d n,a,b,c);)8、用户输入1 2个0 1 0 0之间的整数,统计出小于
8、6 0,6 0到7 9,8 0到1 0 0三个范围的整数各有多少个?#i n c l u d e#i n c l u d e vo i d m a i n Oi n t i,j,k,n,n u m;i=j=k=O;p r i n t f(P l e a s e i n p u t t h e 1 2n u m b e r s wi t h 0 1 0 0:);f o r (n=l;n =0&n u m =1 0 0)e x i t(0);i f(n u m 6 0)+i;e l s e i f(n u m 80)+j;e l s e +k;)p r i n t f(X n T h e r e
9、a r e%dn u m b e r s l e s s t h a n 6 0,%d n u m b e r sb e t we e n 6 0 a n d 7 9,%d n u m b e r sb e t we e n 80 a n d 1 0 0.n”,i,j,k);)9、求这样一个三位数并输出该数字,该三位数等于其每位数字的阶乘之和。即:a b c =a!+b!+c!#i n c l u d e vo i d m a i n O|i n t a,b,c,n u m;i n t s (i n t);f o r(n u m=1 0 0;n u m 1 0 0 0;n u m+)a=n u
10、 m/1 0 0;b=n u m/1 0%1 0;c=n u m%1 0;i f (n u m=s (a)+s (b)+s (c)p r i n t f(T h e n u m b e ri s%d n,n u m);b r e a k;s (i n t n)(i n t i,s u m=l;f o r (i=l;i =n;i+)s u m*二i;r e t u r n s u m;1 0、猜数游戏:由用户随机输入一个1位正整数数让人来猜,只能猜5次,如果人猜对了,则在屏幕上显示“Y o ua r e s o c l e ve r ,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对
11、为止或者5次都猜不对给出提示“G a m e O ve r”。#i n c l u d e#i n c l u d e vo i d m a i n O(i n t n u m,i,n;p r i n t f(P l e a s e i n p u t t h en u m b e r wi t h 0 9 f o r g u e s s i n g:);scanf&num);s ys t e m(c l s);i f(n u m 9)e x i t (0);f o r (i=l;i =5;i+)|p r i n t f(n P l e a s e i n p u tt h e n u m b
12、 e r yo u g u e s s:);scanf&n);i f(n u m=n)p r i n t f (n Y o u a r e s oc l e ve r!n);b r e a k;else if(n 5)p r i n t f(G a m eO ve r!n);)1 1、设N是一个四位数,它的9倍恰好是其反序数(例如:1 23的反序数是3 2 1),求N的值。#i n c l u d e vo i d m a i n()i n t n,k,a,b,c,d;f o r (n=1 0 0 0;n =9 9 9 9;n+)a=n/1 0 0 0;b二n/1 0 0%1 0;c=n/1
13、0%1 0;d=n%1 0;k=1 0 0 0*d+1 0 0*c+1 0*b+a;i f (k=9*n)p r i n t f (N=%d n”,n);)1 2、1 0 0匹马驮1 0 0担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。#i n c l u d e vo i d m a i n()i n t h l,h 2,h 3;f o r (h l=0;h l =1 0 0;h l+)f o r(h 2=0;h 2=1 0 0;h 2+)f o r(h 3=0;h 3 =1 0 0;h 3+=2)|i f (h l+h 2+h 3=1 0 0&3*
14、h l+2*h 2+l/2*h 3=1 0 0)p r i n t f (T h e o l dh o r s e h a s%d,m i d d l e h o r s eh a s%d,yo u n g h o r s eh a s%d n”,h l,h 2,h 3);)1 3、一位司机酒驾撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。(车号 为4位数)#i n c l u d e#i n c l u d e vo i d m a
15、i n O|i n t n,a,b,c,d,i;f o r (n=1 0 0 0;n =9 9 9 9;n+)a=n/1 0 0 0;b二n/1 0 0%1 0;c=n/1 0%1 0;d=n%1 0;i=s q r t(n);i f (a二 二b&c二 二d&i*i=n)p r i n t f(%d n,n);)1 4 、求S=l/(1*2)+1/(2*3)+1/(3*4)+.前50项 之 和 并 输 出 结 果。#i n c l u d e vo i d m a i n Of l o a t i;f l o a t s=0;f o r(i=l;i 5 1;i+)s+=l.0/(i*(i+l
16、);p r i n t f (f s);1 5、编程求出所有1 0 0 0 到 3 0 0 0 之间能 被 7、1 1、1 7 同时整除的整数,并求其平均值,并 输 出 结 果(结果保 田两位小数)。#i n c l u d e vo i d m a i n()i n t i,k=0,s u m=0;f o r(i=1 0 0 0;i =3 0 0 0;i+)i f (i%7=0&i%l l=0&i%1 7=0)s u m+=i;+k;p r i n t f(%d t,i);)p r i n t f(n%d,s u m/k);)1 6、编程找出满足下列条件的所有四位数的和并输出:该数第一、三位
17、数字之和为1 0,第二、四位数字之积为1 2 ot t i n c l u d e f t i n c l u d e i n t m a i n(v oi d)i n t i,j,x,y,z,m;f or(i =1 0 0 0;i 1 0 0 0 0;i+)(X =i/1 0 0 0;y 二(i/1 0 0)%1 0;z =(i/1 0)%1 0;m =i%1 0;i f (x +z)=1 0&(y+m)=1 2)p r intfi);pri n t f(n);re t u rn 0;1 7、求并输出所有满足如下条件的三位正整数:它是某整数的平方,它的三位数码有两位是相同的。(如1 0 0是
18、1 0的平方,它有两个0,2 2 5是1 5的平方,它有两个2)。#i n c l u d e#i n c l u d e v oi d m a i n Oi n t n,i,a,b,c;f or(n=1 0 0;n =9 9 9;n+)a=n/1 0 0;b=n/1 0%1 0;c=n%1 0;i=sqrt(n);i f(a=b|a=c|b=c)&n=i*i)p r intfn);)1 8、输出所有大于1 0 1 0的4位偶数,且该类偶数的各位数字两两不相同。#i n c l u d e v oi d m a i n()i n t n u m,a,b,c,d;f or(n u m=1 0 1
19、 2;n u m =9 9 9 9;n u m+=2)a=n u m/1 0 0 0;b=n u m/1 0 0%1 0;c=n u m/1 0%1 0;d=n u m%1 0;i f (a!=b&b!=c&c!=d)pri n t f n u m);)1 9、编制程序要求输入整数a和 b,若 a?+b 2 大 于 1 0 0,则输出a?+b 2 百位以上的数字,否则输出两数字之和。#i n c l u d e v oi d m a i n Oi n t a,b,s;pri n t f(Pl e a se i n pu t a a n db:);sc a n f (%d%d ,&a,&b);s=a*a+b*b;i f(s 1 0 0)pri n t f(n%d n”,s/1 0 0);e l sepri n t f (n%d n”,a+b);)2 0、编写一个程序实现如下功能:计算 1 1 0 0 之间所有包含4 或者包含5的数字,并显示其累加之和#i n c l u d e v oi d m a i n()i n t a,b,i,su m=0;f or(i=l;i =9 9;i+)(a=i/1 0;b=i%1 0;i f(a=4|a=5|b=4|b=5)su m+=i;pri n t f (级d t”,i);printf(/zn%dn/z,sum);
限制150内