2023年计算机等级二级C语言程序设计100例.doc

上传人:知****量 文档编号:83072584 上传时间:2023-03-28 格式:DOC 页数:106 大小:110.04KB
返回 下载 相关 举报
2023年计算机等级二级C语言程序设计100例.doc_第1页
第1页 / 共106页
2023年计算机等级二级C语言程序设计100例.doc_第2页
第2页 / 共106页
点击查看更多>>
资源描述

《2023年计算机等级二级C语言程序设计100例.doc》由会员分享,可在线阅读,更多相关《2023年计算机等级二级C语言程序设计100例.doc(106页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机级别二级C语言程序设计100例【程序1】题目:有1、2、3、4个数字,能构成多少个互不相似且无反复数字三位数?都是多少?1.程序分析:可填在百位、十位、个位数字都是1、2、3、4。构成所有排列后再去掉不满足条件排列。2.程序源代码:如下是引用片段:如下是引用片段:main() int i,j,k;printf(/n);for(i=1;i5;i+)/*如下为三重循环*/ for(j=1;j5;j+) for (k=1;k5;k+) if (i!=k&i!=j&j!=k) /*保证i、j、k三位互不相似*/ printf(%d,%d,%d/n,i,j,k); 【程序2】题目:公司发放奖金依照

2、利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元某些按10%提成,高于10万元某些,可可提成7.5%;20万到40万之间时,高于20万元某些,可提成5%;40万到60万之间时高于40万元某些,可提成3%;60万到100万之间时,高于60万元某些,可提成1.5%,高于100万元时,超过100万元某些按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请运用数轴来分界,定位。注意定义时需把奖金定义成长整型。2.程序源代码:如下是引用片段:如下是引用片段:main() long int i;int bonus1,bonus2,bo

3、nus4,bonus6,bonus10,bonus;scanf(%ld,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+00*0.5;bonus6=bonus4+00*0.3;bonus10=bonus6+400000*0.15;if(i=100000) bonus=i*0.1;else if(i=00) bonus=bonus1+(i-100000)*0.075;else if(i=400000) bonus=bonus2+(i-00)*0.05;else if(i=600000) bonus=bonus4+(i-4

4、00000)*0.03;else if(i=1000000) bonus=bonus6+(i-600000)*0.015;else bonus=bonus10+(i-1000000)*0.01;printf(bonus=%d,bonus); 【程序3】题目:一种整数,它加上100后是一种完全平方数,再加上168又是一种完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,假如开方后成果满足如下条件,即是成果。请看具体分析:2.程序源代码:如下是引用片段:#include math.h main() long int i,x,y,z;

5、for (i=1;i2)/*假如是闰年且月份不不大于2,总天数应当加一天*/ sum+;printf(It is the %dth day.,sum); 【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:咱们想办法把最小数放到x上,先将x与y进行比较,假如xy则将x与y值进行互换,然后再用x与z进行比较,假如xz则将x与z值进行互换,这样能使x最小。2.程序源代码:如下是引用片段:main() int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if (xy) t=x;x=y;y=t; /*互换x,y值*/ if(xz) t=z;z=x;x=t;

6、/*互换x,z值*/ if(yz) t=y;y=z;z=t;/*互换z,y值*/ printf(small to big:%d %d %d/n,x,y,z); 【程序6】 题目:用*号输出字母C图案。1.程序分析:可先用*号在纸上写出字母C,再分行输出。2.程序源代码:如下是引用片段:#include stdio.h main() printf(Hello C-world!/n);printf( */n);printf( */n);printf( * /n);printf( */n); 【程序7】题目:输出特殊图案,请在c环境中运营,看一看,Very Beautiful!1.程序分析:字符共有

7、256个。不同字符,图形不同样。2.程序源代码:如下是引用片段:#include stdio.h main() char a=176,b=219;printf(%c%c%c%c%c/n,b,a,a,a,b);printf(%c%c%c%c%c/n,a,b,a,b,a);printf(%c%c%c%c%c/n,a,a,b,a,a);printf(%c%c%c%c%c/n,a,b,a,b,a);printf(%c%c%c%c%c/n,b,a,a,a,b); 【程序8】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:如下是引用片段:#include

8、stdio.h main() int i,j,result;printf(/n);for (i=1;i10;i+) for(j=1;j10;j+) result=i*j;printf(%d*%d=%-3d,i,j,result);/*-3d表达左对齐,占3位*/ printf(/n);/*每一行后换行*/ 【程序9】题目:规定输出国际象棋棋盘。1.程序分析:用i控制行,j来控制列,依照i+j和变化来控制输出黑方格,还是白方格。2.程序源代码:如下是引用片段:#include stdio.h main() int i,j;for(i=0;i8;i+) for(j=0;j8;j+) if(i+j)

9、%2=0) printf(%c%c,219,219);else printf( );printf(/n); 【程序10】题目:打印楼梯,同步在楼梯上方打印两个笑脸。1.程序分析:用i控制行,j来控制列,j依照i变化来控制输出黑方格个数。2.程序源代码:如下是引用片段:#include stdio.h main() int i,j;printf(/1/1/n);/*输出两个笑脸*/ for(i=1;i11;i+) for(j=1;j=i;j+) printf(%c%c,219,219);printf(/n); 【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每月都生一对兔子,小兔子长到

10、第三个月后每月又生一对兔子,假如兔子都不死,问每月兔子总数为多少?1.程序分析:兔子规律为数列1,1,2,3,5,8,13,21.2.程序源代码:如下是引用片段:main() long f1,f2;int i;f1=f2=1;for(i=1;i=20;i+) printf(ld ld,f1,f2);if(i%2=0) printf(/n);/*控制输出,每行四个*/ f1=f1+f2;/*前两个月加起来赋值给第三个月*/ f2=f1+f2;/*前两个月加起来赋值给第三个月*/ 【程序12】题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数办法:用一种数分别去除2到

11、sqrt(这个数),假如能被整除,则表白此数不是素数,反之是素数。2.程序源代码:如下是引用片段:#include math.h main() int m,i,k,h=0,leap=1;printf(/n);for(m=101;m=200;m+) k=sqrt(m+1);for(i=2;i=k;i+) if(m%i=0) leap=0;break; if(leap) printf(%-4d,m);h+;if(h=0) ?printf(/n); leap=1; printf(/nThe total is %d,h); 【程序13】题目:打印出所有“水仙花数”,所谓“水仙花数”是指一种三位数,其各

12、位数字立方和等于该数自身。例如:153是一种“水仙花数”,由于153=1三次方+5三次方+3三次方。1.程序分析:运用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:如下是引用片段:main() int i,j,k,n;printf(water flowernumber is:);for(n=100;n1000;n+) i=n/100;/*分解出百位*/ j=n/10;/*分解出十位*/ k=n;/*分解出个位*/ if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%-5d,n); printf(/n); 【程序14】题目:将一

13、种正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一种最小质数k,然后按下述环节完毕:(1)假如这个质数恰等于n,则阐明分解质因数过程已经结束,打印出即可。(2)假如nk,但n能被k整除,则应打印出k值,并用n除以k商,作为新正整数你n,反复执行第一步。(3)假如n不能被k整除,则用k+1作为k值,反复执行第一步。2.程序源代码:如下是引用片段:/* zheng int is divided yinshu*/ main() int n,i;printf(/nplease input a number:/n);scanf(%d,&n);prin

14、tf(%d=,n);for(i=2;i=90分同窗用A表达,60-89分之间用B表达,60分如下用C表达。1.程序分析:(ab)?a:b这是条件运算符基本例子。2.程序源代码:如下是引用片段:main() int score;char grade;printf(please input a score/n);scanf(%d,&score);grade=score=90?Ascore=60?B:C);printf(%d belongs to %c,score,grade); 【程序16】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:运用辗除法。2.程序源代码:如下是引用

15、片段:main() int a,b,num1,num2,temp;printf(please input two numbers:/n);scanf(%d,%d,&num1,&num2);if(num1 temp=num1;num1=num2;num2=temp; a=num1;b=num2;while(b!=0)/*运用辗除法,直到b为0为止*/ temp=a%b;a=b;b=temp; printf(gongyueshu:%d/n,a);printf(gongbeishu:%d/n,num1*num2/a); 【程序17】题目:输入一行字符,分别记录出其中英文字母、空格、数字和其他字符个数

16、。1.程序分析:运用while语句,条件为输入字符不为/n.2.程序源代码:如下是引用片段:#include stdio.h main() char c;int letters=0,space=0,digit=0,others=0;printf(please input some characters/n);while(c=getchar()!=/n) if(c=a&c=A&c=0&c=9) digit+;else others+; printf(all in all:char=%d space=%d digit=%d others=%d/n,letters,space,digit,other

17、s); 【程序18】题目:求s=a+aa+aaa+aaaa+aa.a值,其中a是一种数字。例如2+22+222+2222+22222(此时共有5个数相加),几种数相加有键盘控制。1.程序分析:核心是计算出每一项值。2.程序源代码:如下是引用片段:main() int a,n,count=1;long int sn=0,tn=0;printf(please input a and n/n);scanf(%d,%d,&a,&n);printf(a=%d,n=%d/n,a,n);while(count=n) tn=tn+a;sn=sn+tn;a=a*10;+count; printf(a+aa+.=

18、%ld/n,sn); 【程序19】题目:一种数假如正好等于它因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内所有完数。1. 程序分析:请参照程序-上页程序14.2.程序源代码:如下是引用片段:main() static int k10;int i,j,n,s;for(j=2;j1000;j+) n=-1;s=j;for(i=1;i if(j%i)=0) n+;s=s-i;kn=i; if(s=0) printf(%d is a wanshu,j);for(i=0;iprintf(%d,ki);printf(%d/n,kn); 【程序20】题目:一球从100米高度自由落下

19、,每次落地后反跳回原高度一半;再落下,求它在第10次落地时,共通过多少米?第10次反弹多高?1.程序分析:见下面注释2.程序源代码:如下是引用片段:main() float sn=100.0,hn=sn/2;int n;for(n=2;n=10;n+) sn=sn+2*hn;/*第n次落地时共通过米数*/ hn=hn/2;/*第n次反跳高度*/ printf(the total of road is %f/n,sn);printf(the tenth is %f meter/n,hn); 【程序31】题目:请输入星期几第一种字母来判断一下是星期几,假如第一种字母同样,则继续判断第二个字母。1.

20、程序分析:用状况语句比较好,假如第一种字母同样,则判断用状况语句或if语句判断第二个字母。2.程序源代码:如下是引用片段:#include void main() char letter;printf(please input the first letter of someday/n);while (letter=getch()!=Y)/*当所按字母为Y时才结束*/ switch (letter) case S:printf(please input second letter/n);if(letter=getch()=a) printf(saturday/n);else if (lette

21、r=getch()=u) printf(sunday/n);else printf(data error/n);break;case F:printf(friday/n);break;case M:printf(monday/n);break;case T:printf(please input second letter/n);if(letter=getch()=u) printf(tuesday/n);else if (letter=getch()=h) printf(thursday/n);else printf(data error/n);break;case W:printf(wed

22、nesday/n);break;default:printf(data error/n); 【程序32】题目:Press any key to change color,do you want to try it. Please hurry up!1.程序分析:2.程序源代码:如下是引用片段:#include void main(void) int color;for (color = 0;color 8;color+) textbackground(color);/*设立文本背景颜色*/ cprintf(This is color %d/r/n,color);cprintf(Press an

23、y key to continue/r/n);getch();/*输入字符看不见*/ 【程序33】题目:学习gotoxy()与clrscr()函数1.程序分析:2.程序源代码:如下是引用片段:#include void main(void) clrscr();/*清屏函数*/ textbackground(2);gotoxy(1,5);/*定位函数*/ cprintf(Output at row 5 column 1/n);textbackground(3);gotoxy(20,10);cprintf(Output at row 10 column 20/n); 【程序34】题目:练习函数调用

24、1. 程序分析:2.程序源代码:如下是引用片段:#include void hello_world(void) printf(Hello,world!/n); void three_hellos(void) int counter;for (counter = 1;counter = 3;counter+) hello_world();/*调用此函数*/ void main(void) three_hellos();/*调用此函数*/ 【程序35】题目:文本颜色设立1.程序分析:2.程序源代码:如下是引用片段:#include void main(void) int color;for (co

25、lor = 1;color aj) min=j;tem=ai;ai=amin;amin=tem; /*output data*/ printf(After sorted /n);for(i=0;iprintf(,ai); 【程序38】题目:求一种3*3矩阵对角线元素之和1.程序分析:运用双重for循环控制输入二维数组,再将aii累加后输出。2.程序源代码:如下是引用片段:main() float a33,sum=0;int i,j;printf(please input rectangle element:/n);for(i=0;i3;i+) for(j=0;j3;j+) scanf(%f,&

26、aij);for(i=0;i3;i+) sum=sum+aii;printf(duijiaoxian he is %6.2f,sum); 【程序39】题目:有一种已经排好序数组。现输入一种数,规定按本来规律将它插入数组中。1. 程序分析:一方面判断此数与否不不大于最后一种数,然后再考虑插入中间数状况,插入后此元素之后数,依次后移一种位置。2.程序源代码:如下是引用片段:main() int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf(original array is:/n);for(i=0;iend

27、) a10=number;else for(i=0;inumber) temp1=ai;ai=number;for(j=i+1;j11;j+) temp2=aj;aj=temp1;temp1=temp2; break; for(i=0;i11;i+) printf(m,ai); 【程序40】题目:将一种数组逆序输出。1.程序分析:用第一种与最后一种互换。2.程序源代码:如下是引用片段:#define N 5 main() int aN=9,6,5,4,1,i,temp;printf(/n original array:/n);for(i=0;i printf(M,ai);for(i=0;i t

28、emp=ai;ai=aN-i-1;aN-i-1=temp; printf(/n sorted array:/n);for(i=0;i printf(M,ai); 【程序41】题目:学习static定义静态变量用法1.程序分析:2.程序源代码:如下是引用片段:#include stdio.h varfunc() int var=0;static int static_var=0;printf(/40:var equal %d /n,var);printf(/40:static var equal %d /n,static_var);printf(/n);var+;static_var+; voi

29、d main() int i;for(i=0;i3;i+) varfunc(); 【程序42】题目:学习使用auto定义变量用法1.程序分析:2.程序源代码:如下是引用片段:#include stdio.h main() int i,num;num=2;for (i=0;i3;i+) printf(/40:The num equal %d /n,num);num+; auto int num=1;printf(/40:The internal block num equal %d /n,num);num+; 【程序43】题目:学习使用static另一用法。1.程序分析:2.程序源代码:如下是引

30、用片段:#include stdio.h main() int i,num;num=2;for(i=0;i3;i+) printf(/40:The num equal %d /n,num);num+; static int num=1;printf(/40:The internal block num equal %d/n,num);num+; 【程序44】题目:学习使用external用法。1.程序分析:2.程序源代码:如下是引用片段:#include stdio.h int a,b,c;void add() int a;a=3;c=a+b; void main() a=b=4;add();

31、printf(The value of c is equal to %d/n,c); 【程序45】题目:学习使用register定义变量办法。1.程序分析:2.程序源代码:如下是引用片段:void main() register int i;int tmp=0;for(i=1;i=100;i+) tmp+=i;printf(The sum is %d/n,tmp); 【程序46】题目:宏#define命令练习(1)1.程序分析:2.程序源代码:如下是引用片段:#include stdio.h #define TRUE 1 #define FALSE 0 #define SQ(x) (x)*(x) void main() int num;int again=1;printf(/40:Pro

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

当前位置:首页 > 教育专区 > 初中资料

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

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