《C语言期末考试编程题1.pdf》由会员分享,可在线阅读,更多相关《C语言期末考试编程题1.pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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!
2、+.+20!的 和#includevoid main()(double fact=l.0,sum=0.0;int i,j;for(i=l;i=20;i+)for(j=l;j=i;j+)fact*=j;sum+=fact;fact=l;printf(.Ofn,sum);)3.输 入 一 个 5位 数,判 断 它 是 不 是 回 文 数。即 12321是 回 文 数,个 位 与 万 位 相 同,十 位 与 千 位 相 同。#include#includevoid mainO|long num;int a,b,c,d;printf(Please input thenumber:);scan f(%d
3、”,&num);if(num=100000)p r in tf(T he number ise r r o r!n);e x it(0);)a=num/10000;b=num/1000%10;c=num/10%10;d=num%10;i f(a=d&b=c)printf(XnYes,the%ld ispalindrom e!n,num);e lseprintf(nNo,the%ld is notpalindrome!n,num);)4.求 出 1 到 1000之 内 能 被 7 或 11整 除、但 不 能 同 时 被 7 和 11整 除 的 所 有 整 数 并 并 按 照 一 行 5 个 的
4、格 式 输 出。#includevoid main()(int num,i=0;for(num=l;num=1000;num+)if(num%7|num%ll)=l)&(num%7&num%ll)=0)printf(%dt”,num);+i;if(i%5=0)printf(n);)5.编 程 列 出 200以 内 所 有 的 素 数,按 照 一 行 1 0 个 的 格 式 输 出,并 求 出 所 有 素 数 的 平 均 值,#include#includevoid mainOint i,j,k=0,sum=0,avg=0;for(i=2;i200;i+)for(j=2;j sqrt(i)(p
5、r i n t f i);+k;sum+=i;if(k%10=0)p rin tf(n);avg=sum/k;printf(nThe averageis%dn/z,avg);)6、编 写 一 个 函 数,输 入 n 为 偶 数 时,调 用 函 数 求 1/2+1/4+.+l/n,当 输 入 n 为 奇 数 时,调 用 函 数 1+1/3+1/5.+l/n#includevoid mainO|void odd(int n);void even(int n);int n;printf(Please input thenumber:);scanf(%d”,&n);if(n%2)odd(n);else
6、even(n);)void odd(int n)(flo a t sum=0.0;flo a t j;in t i;f o r(i=l;i=n;i+=2)|j=l.0/i;sum+=j;p r in tf(f n,sum);)void even(int n)(flo a t sum=0.0;in t i;flo a t j;i f(n=0)printf(%fn,sum);else(for(i=2;i=n;i+=2)j=l.0/i;sum+=j;printf(/fn,sum);)7、已 知 abc+cba=1333,其 中 a,b,c均 为 一 位 数,编 程 求 出 满 足 条 件 的 a,b
7、,c 所 有 组 合。#includevoid mainO(int a,b,c;for(a=l;a=9;a+)for(b=0;b=9;b+)for(c=l;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#includevoid mainOint i,j,k,n,num;i=j=k=O;printf(Please input
8、the 12numbers with 0 100:);for(n=l;n=0&num=100)exit(0);if(num60)+i;else if(num80)+j;else+k;)printf(XnThere are%dnumbers less than 60,%d numbersbetween 60 and 79,%d numbersbetween 80 and 100.n”,i,j,k);)9、求 这 样 一 个 三 位 数 并 输 出 该 数 字,该 三 位 数 等 于 其 每 位 数 字 的 阶 乘 之 和。即:abc=a!+b!+c!#includevoid mainO|int
9、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 numberis%dn,num);break;s(int n)(int i,sum=l;for(i=l;i=n;i+)sum*二 i;return sum;10、猜 数 游 戏:由 用 户 随 机 输 入 一 个 1位 正 整 数 数 让 人 来 猜,只 能 猜 5 次,如 果 人 猜 对 了,则 在 屏 幕 上 显 示“Youare so clever,否 则 计 算 机 给
10、出 提 示,告 诉 人 所 猜 的 数 是 太 大 还 是 太 小,直 到 人 猜 对 为 止 或 者 5 次 都 猜 不 对 给 出 提 示“Game Over”。#include#includevoid mainO(int num,i,n;printf(Please input thenumber with 0 9 for guessing:);s c a n f&n u m);system(cls);if(num9)exit(0);for(i=l;i=5;i+)|printf(nPlease inputthe number you guess:);s c a n f&n);if(num=
11、n)printf(nYou are soclever!n);break;else if(nnum)p rin tf(nThe numberyou input is l i t t l e,go onplease!You have%d timesle f t!nz,,5-i);continue;)else|p rin tf(nThe numberyou input is large,go onplease!You have%d timesle f t!n,z,5-i);continue;)if(i5)printf(GameOver!n);)11、设 N 是 一 个 四 位 数,它 的 9 倍 恰
12、 好 是 其 反 序 数(例 如:123的 反 序 数 是 3 2 1),求 N 的 值。#includevoid 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担 货,大 马 一 匹 驮 3 担,中 马 一 匹 驮 2 担,小 马 两 匹 驮 1担。试 编 写 程 序 计 算 大、中、小 马 的 数 目。#includevoid main()int h
13、l,h2,h3;for(hl=0;hl=100;hl+)for(h2=0;h2=100;h2+)for(h3=0;h3=100;h3+=2)|if(hl+h2+h3=100&3*hl+2*h2+l/2*h3=100)printf(The oldhorse has%d,middle horsehas%d,young horsehas%dn”,hl,h2,h3);)13、一 位 司 机 酒 驾 撞 人 逃 跑。现 场 三人 目 击 事 件,但 都 没 记 住 车 号,只 记 下 车 号 的 一 些 特 征。甲 说:牌 照 的 前 两 位 数 字 是 相 同 的;乙 说:牌 照 的 后 两 位 数
14、字 是 相 同 的;丙 是 位 数 学 家,他 说:四 位 的 车 号 刚 好 是 一 个 整 数 的 平 方。请 根 据 以 上 线 索 求 出 车 号。(车 号 为 4 位 数)#include#includevoid mainO|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=l/(1*2)+1/(2*3)+1/(3*4)+.前 5 0 项 之 和 并 输 出 结 果。#incl
15、udevoid mainOfloat i;float s=0;for(i=l;i51;i+)s+=l.0/(i*(i+l);printf(fs);15、编 程 求 出 所 有 1000到 3000之 间 能 被 7、11、17同 时 整 除 的 整 数,并 求 其 平 均 值,并 输 出 结 果(结 果 保 田 两 位 小 数)。#includevoid main()int i,k=0,sum=0;for(i=1000;i=3000;i+)if(i%7=0&i%ll=0&i%17=0)sum+=i;+k;printf(%dt,i);)printf(n%d,sum/k);)16、编 程 找 出
16、满 足 下 列 条 件 的 所 有 四 位 数 的 和 并 输 出:该 数 第 一、三 位 数 字 之 和 为 10,第 二、四 位 数 字 之 积 为 12ottinclude ftinclude 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)=12)p r i n t f i);printf(n);return 0;17、求 并 输 出 所 有 满 足 如 下 条 件 的 三 位 正 整 数:它 是 某 整 数 的
17、平 方,它 的 三 位 数 码 有 两 位 是 相 同 的。(如 100是 10的 平 方,它 有 两 个 0,225是 15的 平 方,它 有 两 个 2)。#include#includevoid mainOint 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)p r i n t f n);)18、输 出 所 有 大 于 1010的 4 位 偶 数,且 该 类 偶 数 的 各 位 数 字 两 两 不 相 同。#includevoid main()int num,a,
18、b,c,d;for(num=1012;num=9999;num+=2)a=num/1000;b=num/100%10;c=num/10%10;d=num%10;if(a!=b&b!=c&c!=d)printf num);)19、编 制 程 序 要 求 输 入 整 数 a 和 b,若 a?+b2大 于 100,则 输 出 a?+b2百 位 以 上 的 数 字,否 则 输 出 两 数 字 之 和。#includevoid mainOint a,b,s;printf(Please input a andb:);scanf(%d%d,&a,&b);s=a*a+b*b;if(s100)printf(n%dn”,s/100);elseprintf(n%dn”,a+b);)20、编 写 一 个 程 序 实 现 如 下 功 能:计 算 1 100之 间 所 有 包 含 4或 者 包 含 5的 数 字,并 显 示 其 累 加 之 和#includevoid main()int a,b,i,sum=0;for(i=l;i=99;i+)(a=i/10;b=i%10;if(a=4|a=5|b=4|b=5)sum+=i;printf(级 dt”,i);p rin tf(/zn%dn/z,sum);