2022年C语言编程题精选 .pdf
《2022年C语言编程题精选 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言编程题精选 .pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、 给出一百分制成绩,要求输出成绩等级A 、 B 、 C 、 D 、 E 。90分以上为 A ,8089分为 B ,7079分为 C ,6069分为 D ,60分以下为 E 。用 swich语句编写程序。#include void main() int x; scanf(%d,&x); x=x/10; switch(x) case 10:printf(A);break; case 9:printf(A);break; case 8:printf(B);break; case 7:printf(C);break; case 6:printf(D);break; default :printf(
2、E); 2、 输入 4个整数,要求按由大到小的顺序输出。#include void main() int a,b,c,d,e; scanf(%d %d %d %d,&a,&b,&c,&d); if(ab) e=a;a=b;b=e; if(ac) e=a;a=c;c=e; if(ad) e=a;a=d;d=e; if(bc) e=b;b=c;c=e; if(bd) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 25 页 - - - - - - - - - e=b;b=d;
3、d=e; if(cd) e=c;c=d;d=e; printf(%d %d %d %dn,a,b,c,d); 3、 有 4个圆塔,圆心分别为(2,2) 、 (-2,2) 、 (-2,-2) 、 (2,-2) ,圆半径为1,这四个塔的高度为10米,塔外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零) 。#include #include void main() int a,b; scanf(%d %d,&a,&b); if(sqrt(a-2)*(a-2)+(b-2)*(b-2)=1)printf(10); if(sqrt(a+2)*(a+2)+(b-2)*(b-2)=1)prin
4、tf(10); if(sqrt(a+2)*(a+2)+(b+2)*(b+2)=1)printf(10); if(sqrt(a-2)*(a-2)+(b+2)*(b+2)=1)printf(10); else printf(0); 4、 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。#include void main() int m=1,i; for(i=10;i1;i-) m=(m+1)*2; printf(%
5、d,m); 5、 一个球从 100米高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米?第十次反弹多高?#include void main() float h=100,sum=100; int n; for(n=1;n=10;n+) h=h/2;sum=sum+h; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 25 页 - - - - - - - - - printf(the total is %fn,sum); prin
6、tf(the tenth is %fn,h); 6、企业发放的奖金根据利润提成。利润I 低于或等于100000 元的,奖金可提10%;利润高于 100000元低于 200000元(100000I=200000)时,低于 100000元的部分按 10%提成,高于 100000元的部分,可提成 7.5%; 200000I=400000时,低于 200000元的部分仍按上述办法提成(下同) 。高于 200000元的部分按5% 提 成; 400000 I=600000 元 时 ,高于400000 元的部分 按 3% 提 成 ;600000I1000000 时,超过 1000000元的部分按 1%提成。
7、要求用两种语句分别编程: (1)用 if 语句编程序;(2)用 switch语句编程序。#include void main() float i,p; scanf(%f,&i); if(i100000&i200000&i400000&i600000&i1000000)p=p+0.01*i; printf(%fn,p); 7、 将一个数组中 20 个值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为 1,4, 5,6,8。#include void main() int a20,t,i; for(i=0;i=19;i+) scanf(%d,&ai); for(i=0;i=9;i+)
8、t=ai; ai=a19-i; a19-i=t; for(i=0;i=19;i+) printf(%d,ai); 8、输出九九乘法表,格式如下:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 25 页 - - - - - - - - - 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 #include void main()
9、 int i,j,k; for(i=1;i=9;i+) for(k=0;k27-3*i;k+) printf( ); for(j=1;j=i;j+) printf( %d*%d=%d,i,j,i*j); printf(n); 9、用循环语句输出以下图案:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #include void main() int i,t; for(i=1;i=5;i+) for(t=1;t=i;t+) printf( ); printf(* * * * *n); 10、有一行电文,已按下面规律译成密码:
10、AZ a z BYby CX cx ,即第 1 个字母变成第26个字母,第 i个字母变成第 (26-i+1)个字母 .非字母字符不变. #include void main() char in,out; printf(in=); scanf(%c,&in); if(in64)&(in97)&(in122) out+219-(int)in; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 25 页 - - - - - - - - - printf(%c,out); 11、要
11、求编程序将密码译会原文,并输入密码和原文4、 一个数如果恰好等于它的因子之和,这个数就称为“完数” 。例如, 6的因子为 1、2、3,而 6=1+2+3,因此,6是“完数” 。编写程序找出1000之内的所有完数,并按下面的格式输出其因子:6 its factors are 1, 2 3 #include void main() int m,i,s; for(m=2;m1000;m+) s=1; for(i=2;i=m/2;i+) if(m%i=0) s=s+i; if(s=m) printf(%d its factors are ,m); for(i=1;i=m;i+) if(m%i=0) p
12、rintf(%d ,i); printf(n); 12、用选择法对 50 个整数排序。#include void main() int a51,i,j,k,x; printf(input 50 numbers:n); for(i=1;i51;i+) scanf(%d,&ai); printf(n); for (i=1;i50;i+) k=i; for (j=i+1;j=50;j+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 25 页 - - - - - - - -
13、- if (ajak) k=j; if (i!=k) x=ai;ai=ak;ak=x; printf (the sorted numbers:n); for (i=1;i51;i+) printf(%d,ai); 13、已有一个已排好序的数组(15个数) ,要求输入 1个数后,按原来排序的规律将它插入数组中。#include void main() int i,j,x,a16=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,; scanf(%d,&x); for(i=0;j16;i+) if(x=i;j-) aj+1=j; ai=x; for(i=0;i16;i+)
14、 printf(%d,ai); 14、输入以下的杨辉三角形(要求输入10行)1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 . . . . . . . . . . . . . . . . . . #include void main() int i,j; int a1010; printf(n); for(i=0;i10;i+) ai0=1; aii=1; for(i=2;i10;i+) for(j=1;ji;j+) aij=ai-1j-1+ai-1j; for(i=0;i10;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
15、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 25 页 - - - - - - - - - for(j=0;j=i;j+) printf(%5d,aij); printf(n); 15、有 15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数“。#include #include void main() static int i,j,m,a15=1,4,9,13,24,28,31,39,48,56,67,79,82,97,101; scanf(%d,&m
16、); for(j=0;j15;j+) printf(%4d,aj); printf(n); i=7; while(fabs(i-7)8) if(ma7) if(ai-m=0) printf(it is at(%d)n,i+1);break; i-; else if(ma7) if(ai-m=0) printf(it is at(%d)n,i+1);break; i+; else printf(8n); if(fabs(i-7)-8=0) printf(there is notn); 16、编写一个程序,将两个字符串连接起来,不要用strcat函数。#include 名师资料总结 - - -精品
17、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 25 页 - - - - - - - - - void main() int i,j; char str1100,str2100,str3201; gets(str1); gets(str2); for(i=0;str1i!=0;i+) str3i=str1i; for(j=0;str2j!=0;j+) str3j+i=str2j; printf(%sn%sn%sn,str1,str2,str3); 17、编写一个程序, 将字符数组 s2中的全部字符复
18、制到字符数组s1中。不要用strcpy函数。复制时,0也要复制过去。0后面的字符不复制。#include void main() char s180,s240; int i=0,j=0; gets(s1); gets(s2); while(s1i+!=0); i-; while(s1i+=s2j+)!=0); printf(%s,s1); 18、编写一个程序,判别用户输入的字符串是否符合构成标识符的规定。如果符合,则形成一个标识符,并计算个数;否则,显示出错信息。#include void main() /*int a3,i,t; printf(nPLEASE!n); for(i=0;i3;i
19、+) scanf(%d,&ai); t=ai;ai=ai+1;ai+1=ai+2;ai+2=t; printf(n); for(i=0;i3;i+) printf(%d,ai); */ int a,b,c,d; printf(nPLEASE!n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 25 页 - - - - - - - - - scanf(%d,%d,%D,&a,&b,&c); d=a;a=b;b=c;c=d; printf(%d %d %d,a,b,c);
20、 19、求 mn之间所有的素数。 m和 n的值由用户键入。为使程序结构清晰,设置一个函数 prime(x) 用来判断 x是否为素数。#include #include void main() int x,i,k; scanf(%d,&x); k=sqrt(x); for (i=2;ik)printf(%d is a prime numbern,x); else printf(%d is not a prime numbern,x); 20、求在 10010000之间有多少个整数它们的各位数之和等于5。#include void main() int i,t=0,y,w,s,g,x; for(i
21、=100;i=100&i=1000&i=9999) y=i/1000; x=i-y*1000; w=x/100; s=x%10/10; g=x%10%10; if(y+w+s+g=5) t+; printf(n%d,t); 附加: 1编写程序,读入三个整数给a、b、c,然后交换它们中的数,把 a 中原来的值给b,把 b 中原来的值给 c,把 c中原来的值给a,然后输出 a、b、c。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 25 页 - - - - - - - - -
22、 #include void main() int a,b,c,t; scanf(%d,%d,%d,&a,&b,&c); t=c;c=b;b=a;a=t; printf(%d,%d,%d,a,b,c); 2 编写程序,把560 分钟换算成用小时和分钟表示,然后进行输出。3 编写程序,输入一个整数,打印出它是奇数还是偶数。4 输入三个整数,分别放在变量a、b、c中,然后把输入的数据重新按由小到大的顺序放在变量a、b、c中,最后输出 a、b、c中的值。#include void main() int a,b,c,t; scanf(%d,%d,%d,&a,&b,&c); if(ab) t=a;a=b
23、;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(%d,%d,%d,a,b,c); 5 编写程序,根据输入学生的学生成绩给出相应的等级,大于或等于 90 分以上的等级为A,60分以下的等级为E,其余每 10分为一个等级。6 编写程序,输出1-500之间能被 3 整除或被 5整除的所有数。7 用/4=1-1/3+1/5-1/7+1/9-.?公式求 的近似值,直到最后一项的绝对值小于10-6(-6 为上标, C 语言中可写为 1e-6)来作为循环的结束条件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
24、- - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 25 页 - - - - - - - - - 8 对于函数当 -5x0 时 ,y=x; 当 x=0 时, y=x-1; 当 0 x10 时 ,y=x+1 编写程序,要求输入x的值,输出 y的值。#include void main() int x,y; scanf(%d,&x); if(x(-5)y=x; if(x=0)y=(x-1); if(x0)y=(x+1); printf(%dn,y); 9 计算 s=1+2+3+.+i,直到累加到 s大于 5000为止,并给出 s和 i 的值。(提示可用 brea
25、k 语句)10 编写程序,找出2100以内的所有的素数。11 编写程序,输出26个大写字母和它们的ASCII 代码,每行输出两组数据。12 编写程序,输出九九乘法表,格式如下:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 ,1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 13 求一个 3 行 3列的整形矩阵主对角线元素之和。 (要求 3 行 3 列矩阵由键盘输入)(提示:主对角线指左上到右下的斜线)#include void main() int a33; int i,j,s=0; for(i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言编程题精选 2022 语言 编程 精选
限制150内