C语言20道期末考试题.doc

上传人:xt****7 文档编号:125839925 上传时间:2020-03-20 格式:DOC 页数:15 大小:38KB
返回 下载 相关 举报
C语言20道期末考试题.doc_第1页
第1页 / 共15页
C语言20道期末考试题.doc_第2页
第2页 / 共15页
C语言20道期末考试题.doc_第3页
第3页 / 共15页
C语言20道期末考试题.doc_第4页
第4页 / 共15页
C语言20道期末考试题.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C语言20道期末考试题.doc》由会员分享,可在线阅读,更多相关《C语言20道期末考试题.doc(15页珍藏版)》请在金锄头文库上搜索。

1、【程序1】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include math.hmain()long int i,x,y,z;for (i=1;i2)/*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf(It is the %dth day.,sum);-【程序3题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先

2、将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;/*交换x,z的值*/if(yz)t=y;y=z;z=t;/*交换z,y的值*/printf(small to big: %d %d %dn,x,y,z);【程序4】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:#include

3、 stdio.hmain() 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);/*每一行后换行*/ 【程序5题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.2.程序源代码:main()long f1,f2;int i;f1=

4、f2=1;for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2); if(i%2=0) printf(n);/*控制输出,每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2; /*前两个月加起来赋值给第三个月*/ -【程序6】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:main()int i,j,k,n;p

5、rintf(water flowernumber is:); for(n=100;n=a&c=A&c=0&c=9) digit+; else others+;printf(all in all:char=%d space=%d digit=%d others=%dn,letters,space,digit,others);-【程序8】题目:两个字符串连接程序。1.程序分析:2.程序源代码:#include stdio.hmain()char a=acegikm;char b=bdfhjlnpq;char c80,*p;int i=0,j=0,k=0;while(ai!=0&bj!=0)if (

6、aibj) ck=ai;i+;elseck=bj+;k+;ck=0;if(ai=0)p=b+j;elsep=a+i;strcat(c,p);puts(c);-【程序9】题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。1.程序分析:。2.程序源代码:main()int number10;input(number);max_min(number);output(number);input(number)int number10;int i;for(i=0;i9;i+) scanf(%d,&numberi); scanf(%d,&number9);max_min(arra

7、y)int array10;int *max,*min,k,l;int *p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;p*max) max=p; else if(*p*min) min=p; k=*max; l=*min; *p=array0;array0=l;l=*p; *p=array9;array9=k;k=*p; return;output(array)int array10; int *p;for(p=array;parray+9;p+) printf(%d,*p);printf(%dn,array9);-【程序10】 题目:打印出如下图案(菱形)*1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。 2.程序源代码:main()int i,j,k;for(i=0;i=3;i+) for(j=0;j=2-i;j+) printf( ); for(k=0;k=2*i;k+) pri

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号