C语言20道编程题操作题示例(共16页).doc

上传人:飞****2 文档编号:16270377 上传时间:2022-05-16 格式:DOC 页数:16 大小:50.50KB
返回 下载 相关 举报
C语言20道编程题操作题示例(共16页).doc_第1页
第1页 / 共16页
C语言20道编程题操作题示例(共16页).doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《C语言20道编程题操作题示例(共16页).doc》由会员分享,可在线阅读,更多相关《C语言20道编程题操作题示例(共16页).doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上1.题目标题:四位反序数题目描述:设是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),编程,输出一个满足条件的。(知识点:控制语句)输入描述:输入为一个整形数n(2=n=9)输出描述:输出为一个四位数的整形数样式输入:9样式输出:1089#include main() int n,g,s,b,q,i; scanf(%d,&n); for(i=1000;i10000;i+) q=i/1000; b=i/100%10; s=i/10%10; g=i%10; if(i*n=q+b*10+s*100+g*1000) printf(%dn,i); 2. 题目

2、标题:年龄分组题目描述:统计各年龄段的人数。N(N=20)个年龄通过键盘输入,并放在age数组中;要求函数把0至9岁年龄段的人数放在d0中,把10至19岁年龄段的人数放在d1中, 把20至29岁年龄段的人数放在d2中, 其余依此类推, 把100岁 (含100)以上年龄的人数都放在d10中。依次输出d0至d10。输入描述:输入为20个正整数;输出描述:输出为11个正整数;样式输入:1 2 11 12 22 23 33 34 44 45 55 56 66 67 68 88 99 100 101 102样式输出:2 2 2 2 2 2 3 0 1 1 3#includemain() int i,ag

3、e20,d11=0; for(i=0;i20;i+) scanf(%d,&agei); for(i=0;i20;i+) switch(agei/10) case 0: d0+; break; case 1: d1+; break; case 2: d2+; break; case 3: d3+; break; case 4: d4+; break; case 5: d5+; break; case 6: d6+; break; case 7: d7+; break; case 8: d8+; break; case 9: d9+; break; default: d10+; break; fo

4、r(i=0;i=10;i+) printf(%dn,di);3.题目标题:求三个整数的最大公约数题目描述:对任意三个整数,求它们的最大公约数输入描述:三个整数a,b,c输出描述:a,b,c的最大公约数样式输入:4 24 32样式输出:4#include int gcd(int n,int m) if(m=0) return n; return gcd(m,n%m); int main() int x,y,z; scanf(%d%d%d,&x,&y,&z); printf(%d,gcd(gcd(x,y),z); return 0; 4.题目标题:发放奖金题目描述:某车间按工人加工零件的数量发放奖

5、金,奖金分为五个等级:每月加工零件数N 100者奖金为10元;100 = N 110者奖金为30元;110 = N 120 者奖金为50元;120 = N 130者奖金为80元。 请编程,由键盘输入加工零件数量,显示应发奖金数。输入描述:输入10个加工零件数量,数量小于400.输出描述:对每一个加工零件个数,输出应发奖金数,每个奖金数之间用空格隔开样式输入:85 85 85 85 85 85 85 85 85 85样式输出:10 10 10 10 10 10 10 10 10 10#include main()int a10,i,k; for(i=0;i10;i+) scanf(%d,&ai)

6、; for(i=0;i10;i+) k=ai/10; if(k10) ai=10; else switch(k) case 10: ai=30; break; case 11: ai=50; break; case 12: ai=70; break; default: ai=80; break; printf(%d,a0); for(i=1;i10;i+) printf( %d,ai); return 0; 5.题目标题:矩阵计算题目描述:求一个3*3矩阵对角线元素之和。输入描述:按行输入9个整数。输出描述:对角线元素之和样式输入:1 2 3 4 5 6 7 8 9样式输出:15#includ

7、e int main() int a33; int i,j; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); printf(%d,a00+a11+a22); return 0; 6.题目标题:歌手比赛题目描述:青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。输入描述:10个评委的分数,每个分数是一个浮点数.输入数据保证有一个最低分,一个最高分,且最高分,最低分不相同.其它是数据与最低、最高均不相同输出描述:输出歌手的得分,保留一位小数.所有输出的最后一行不能有回车样式输入:8.5 9 9.

8、8 6.5 8.7 8.5 9.3 9.6 8.9 8.2样式输出:8.8#include int main() double a10,max,min,sum; int i; for(i=0;i10;i+) scanf(%lf,&ai); sum=min=max=a0; for(i=1;i10;i+) if(maxai) min=ai; sum+=ai; printf(%.1lf,(sum-min-max)/8); return 0; 7.题目标题:统计题目描述:统计个位数为6的n位数,且能被m整除的共有多少个?输入描述:一个整数n(n=5),表示该整数的位数,一个整数m(19);输出描述:符

9、合条件的数的个数。样式输入:2 3样式输出:3#include int f(int n) int t=1,i; for(i=1;i=n;i+) t*=10; return t; int main() int n,m,i,count=0; scanf(%d%d,&n,&m); for(i=f(n-1)+6;idb,且ac必须是偶数且能被n(n为19的整数)整除,db必须是奇数,同时两个新数的十位数字均不为零。输入描述:一个19的整数。输出描述:符合条件的数的个数。样式输入:5样式输出:180#include int main() int i,j,count=0,n; scanf(%d,&n);

10、for(i=10;i100;i+=2) for(j=11;jj&i%n=0) count+; printf(%d,count); return 0; 9.题目标题:产值翻番计算题目描述:假设当年工业产值为100,工业产值的增长率每年为c%,从键盘输入一个c(0=c=30),试求工业产值过多少年可实现翻番(即增加一倍)。注:后一年的产值是在前一年的基础上增长c%。输入描述:一个030的实数(增长率)。输出描述:实现翻番的年数。样式输入:6样式输出:12#include int main() int count=0; double c,t=1; scanf(%lf,&c); while(t2) t

11、*=(c/100+1); count+; printf(%d,count); return 0; 10.题目标题:行李托运题目描述:铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超过50公斤,超过部分每公斤按0.25元计费。请编程实现自动计费功能。输入描述:输入一个整数,表述要托运的行李的重量,单位为公斤输出描述:托运的行李重量(单位公斤)空格和运费(单位为元,保留2位小数)。样式输入:45样式输出:45 6.75#include int main() double x,y; scanf(%lf,&x); if(x50) y=x*0.15; else y=(x-50

12、)*0.25+50*0.15; printf(%.0lf %.2lf,x,y); return 0; 11.题目标题:分数比较题目描述:请编程实现比较两个分数的大小。(注:进行分数的通分后再比较分子的大小)输入描述:输入两个分数,格式为分子/分母 分子/分母,分子,分母均为整数。输出描述:输出比较后的结果。如果等于,则输出分子/分母=分子/分母;如果小于分子/分母分子/分母样式输入:1/2 1/3样式输出:1/21/3#include int gcd(int x,int y) int r=x%y; while(r) x=y; y=r; r=x%y; return y; int main() i

13、nt a,b,c,d,t; scanf(%d/%d %d/%d,&a,&b,&c,&d); if(bd) t=gcd(b,d); else t=gcd(d,b); if(a*d/tc*b/t) printf(%d/%d%d/%d,a,b,c,d); else if(a*d/t=c*b/t) printf(%d/%d=%d/%d,a,b,c,d); else printf(%d/%d%d/%d,a,b,c,d); return 0; 12.题目标题:求人数题目描述:定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计50个学生成绩中,高于平均成绩的有

14、多少人?输入描述:输入50个学生的成绩输出描述:输出一个整数表示高于平均成绩的人数样式输入:45 46 47 48 49 50 41 52 53 5455 56 57 58 59 60 61 62 63 6465 66 67 68 69 70 71 72 73 7475 76 77 78 79 80 81 82 83 8485 86 87 88 89 90 91 92 93 94样式输出:25#include #include #include int aver(int a,double sum) int i=0,n=0; for(;isum) n+; return n; int main()

15、 int a55,i; double sum=0; for(i=0;i50;i+) scanf(%d,&ai); sum+=ai; sum/=50; printf(%d,aver(a,sum); return 0; 13.题目标题:求圆的周长和面积题目描述:从键盘输入圆的半径,求该圆的周长和面积。(注: 取3.14)输入描述:一个实数r。输出描述:圆的周长和面积。样式输入:1样式输出:r=1.00,l=6.28,s=3.14#include #define PI 3.14 int main() double r,l,s; scanf(%lf,&r); l=2*PI*r; s=PI*r*r; p

16、rintf(r=%.2f,l=%.2f,s=%.2f,r,l,s); return 0; 14.题目标题:确定一个数的位数题目描述:编写程序用来确定一个数的位数。如:输入: 567 输出:The number 567 has 3 digits 假设输入的数最多不超过四位。输入描述:一个整数n。输出描述:按指定格式输出这个数的位数。样式输入:567样式输出:The number 567 has 3 digits#include main() int n,x,digits=0; scanf(%d,&n); x=n; do x=x/10; digits+; while(x); printf(The

17、number %d has %d digits,n,digits); 15.题目标题:阶乘累加题目描述:计算1!+2!+3!+n!输入描述:一个整数n(n=20)。输出描述:1到n的阶乘累加之和。样式输入:5样式输出:s=153#include int main() int n,i; scanf(%d,&n); long long s=1,sum=0; for(i=1;i=n;i+) s*=i; sum+=s; printf(s=%lld,sum); return 0; 16.题目标题:计算e的近似值题目描述:利用泰勒级数 e=1+1/1!+1/2!+1/n!, 计算e的近似值。精度要求最后一

18、项的绝对值小于f(如:f=1e-5)。输入描述:精度。输出描述:e的近似值,保留6位小数。样式输入:1e-5样式输出:e=2.#include #include double fac(int n) if(n=1) return 1; else return n*fac(n-1); int main() int i=1; double e=1.0,t,f; scanf(%le,&f); for(t=1.0;tf;i+) t=1.0/fac(i); e+=t; printf(e=%.6lf,e); return 0; 17.题目标题:求水仙花数题目描述:打印n(三位的整数)以内的所有水仙花数。所谓

19、水仙花数是指一个三位的整数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153=13+53+33。输入描述:一个整数n。输出描述:符合条件的水仙花数。样式输入:400样式输出:153370371#include int main() int i,x,y,z,a; scanf(%d,&a); for(i=100;i=a;i+) x=i/100; y=i/10%10; z=i%10; if(i=x*x*x+y*y*y+z*z*z) printf(%dn,i); return 0; 18.题目标题:百马百担问题题目描述:百马百担问题:有n1匹马,驮n2担货,大马驮3担,中马驮2担,两

20、匹小马驮1担,问有多少种驮法?注意:每种马至少有1匹.输入描述:两个整数n1(马匹数)和n2(担货数)。输出描述:驮法数。样式输入:100 100样式输出:6#include int main() int d,z,x; int sum=0,n1,n2; scanf(%d %d,&n1,&n2); for(d=1;d=n1;d+) for(z=1;z=n1-d;z+) x=n1-d-z; if(3*d+2*z+0.5*x)=n2) sum+; printf(%d,sum); return 0; 19.题目标题:函数求解1/n的累乘题目描述:利用自定义函数编写程序,求下面的式子: Y=1*1/2*

21、1/3*1/n (n的数值由键盘输入,n=10)输入描述:输入一个正整数输出描述:输出为小数,保留小数点后12位有效数字。样式输入:3样式输出:0.7#include #include #include int main() int n,i; double t=1; scanf(%d,&n); for(i=1;i=n;i+) t/=i; printf(%.12lf,t); return 0; 20.题目标题:整数的分解)题目描述:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。输入描述:输入一个正整数。输出描述:等式左边输出整数,等式右边整数相乘形式。样式输入:90样式输出

22、:90=2*3*3*5#include int isprime(int n) int i; for(i=2;i*i=n;i+) if(n%i=0) return 0; return 1; int main() int num,i; scanf(%d,&num); printf(%d=,num); if(isprime(num) printf(1*%d,num); else for(i=2; i=num; i+) if(num%i=0) num/=i; printf(%d,i); break; for(i=2; i=num; i+) while(num%i=0) num/=i; printf(*%d,i); return 0; 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁