C经典百题

上传人:cn****1 文档编号:551728298 上传时间:2023-09-21 格式:DOCX 页数:56 大小:66.38KB
返回 下载 相关 举报
C经典百题_第1页
第1页 / 共56页
C经典百题_第2页
第2页 / 共56页
C经典百题_第3页
第3页 / 共56页
C经典百题_第4页
第4页 / 共56页
C经典百题_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《C经典百题》由会员分享,可在线阅读,更多相关《C经典百题(56页珍藏版)》请在金锄头文库上搜索。

1、C经典百题2006/10/31 22:00【程序1】题目:有1、2、3、4、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1 .程序分析:可填在百位、十位、个位的数字都是1、2、3、4组成所有的排列后再去 掉不满足条件的排列。2 .程序源代码:main()int i, j, k;printf(n);for (i=l; i5; i+)/以下为三重循环/for(j=l;j5;j+)for (k=l;k5;k+)if (i !=k&i !=j&j !=k)/确保 i、j、k 三位互不相同/printf (%d, %d, %dn”, i, j, k);【程序2】题目:企业发放的奖金根据

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

3、bonus6, bonuslO, bonus;scanf &i);bonusl=100000*0.1;bonus2=bonus1+100000*0. 75;bonus4=bonus2+20000. 5;bonus6=bonus4+20000. 3;bonus10=bonus6+400000*0. 15;if(i=100000)bonus=i. 1;else if(i=200000)bonus=bonus1+(i-100000)*0. 075;else if(i=400000)bonus=bonus2+(i-200000)*0. 05;else if(i=600000)bonus=bonus4+

4、(i-400000)*0. 03;else if(i2)/如果是闰年且月份大于2,总天数应该加一天/ sum+;printf CIt 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;scanfC%d%d%dz,, &x, &y, &z); if (xy)t=x;x=y;y=t; /交换 x,

5、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);【程序6】题目:用号输出字母C的图案1 .程序分析:可先用*号在纸上写出字母C,再分行输出。2 .程序源代码:#include stdio. hmain()(printf (z,Hello C-world!n/z);printf (z,*n);printfC *n);printf ( * n);printf C *n);【程序7】题目:输岀特殊图案,请在c环境中运行

6、,看一看,Very Beautiful! 1 .程序分析:字符共有256个。不同字符,图形不样。3 .程序源代码:ttinclude stdio. h main ()(char a=176, b=219;printf (,%c%c%c%c%cn/, b, a, a, a, b);printf (/z%c%c%c%c%cnz,, a, b, a, b, a);printf (zz%c%c%c%c%cnzz, a, a, b, a, a);printf (zz%c%c%c%c%cnzz, a, b, a, b, a);printf (zz%c%c%c%c%cn,z, b, a, a, a, b)

7、;【程序8】题目:输出9*9 口诀。L程序分析:分行与列考虑,共9行9歹,i控制行,j控制列。4 .程序源代码:#include stdio. hmain ()(int i, j, result;printf (n);for (i=l;i10;i+) for(j=l;j10;j+)result二i*j;printf (%d*%d=%-3d”, i, j, result) ;/*-3d 表示左对齐,占 3 位/ )printf (、n) ;/每一行后换行/【程序9】 题目:要求输出国际象棋棋盘。1 .程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方 格。2 .程序

8、源代码:#include stdio. hmain ()(int i, j;for(i=0;i8;i+)for(j=0;j8;j+)if(i+j)%2=0)printf(%c%c”, 219,219);elseprintf ();printf(n);【程序11题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三 个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1 .程序分析:兔子的规律为数列1, 1, 2, 3, 5, 8, 13, 21.2 .程序源代码:main ()(long fl, f2;int i;fl=f2=l;for(i=l;i=2

9、0;i+) printf(%121d %121d*, fl, f2);if (i%2=0) printf (n) ;/*控制输出,每行四个/fl=fl+f2; /前两个月加起来赋值给第三个月/f2=fl+f2; /前两个月加起来赋值给第三个月/【程序12题目:判断101-200之间有多少个素数,并输出所有素数。1 .程序分析:判断素数的方法:用个数分别去除2到sqrt (这个数),如果能被整除, 则表明此数不是素数,反之是素数。2 .程序源代码:#include math, hmain()int m, i, k, h=0, leap=l;printf(n);for(m=101;m=200;m+

10、) 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%10=0) printf(n);leap=l;printf(*nThe total is %d”, h);【程序13题目:打印出所有的“水仙花数”,所谓“水仙花数”是指个三位数,其各位数字立方和 等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三 次方。1 .程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2 .程序源代码:main ()(int i, j, k, n;printf water flower number is:);for(n=100;n1000;n+)(1 =n/100; /分解出百位/j=n/10%10;/分解出十位/k=n%10;/分解出个位/if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)(printf(%-5d, n);printf(n);【程序14题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到-个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因

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

最新文档


当前位置:首页 > 商业/管理/HR > 商业计划书

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