《C语言经典程序100例》由会员分享,可在线阅读,更多相关《C语言经典程序100例(13页珍藏版)》请在金锄头文库上搜索。
1、C语言典型程序100例(1)【程序】题目:有1、2、3、4个数字,能构成多少个互不相似且无反复数字的三位数?都是多少?1程序分析:可填在百位、十位、个位的数字都是1、2、4。构成所有的排列后再去掉不满足条件的排列。2.程序源代码:a()inti,k;printf(n);for(i=;5;i+)/如下为三重循环/fr(j=1;j5;j+)or(k1;;k+)if(i!=&i!=jj!=k)/*保证i、j、k三位互不相似printf(%d,d,n,i,j,);=【程序】题目:公司发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提1%;利润高于10万元,低于20万元时,低于1万元的部分
2、按1提成,高于万元的部分,可可提成7.%;万到40万之间时,高于20万元的部分,可提成5%;0万到0万之间时高于40万元的部分,可提成3;60万到100万之间时,高于0万元的部分,可提成.5%,高于100万元时,超过万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请运用数轴来分界,定位。注意定义时需把奖金定义成长整型。.程序源代码:min()longn;inbus1,bons2,bonus4,bons6,on10,bon;scaf(ld,&i);ou10000*01;nusnu1+100000*0.75;bonus4=bonus200*05;bnus6=onu+0*
3、0.3;-1bons1ous6+00000*0.1;if(i=10000)bnus=*0.1;else(i=0)bons=bonus+(i10000).075;elseif(i=4000)bs=bs2+(-00).05;elseif(i00000)bousbous4+(i-000)*.03;eseif(2)如果是闰年且月份不小于,总天数应当加一天*/sum+;prtf(Itsthe%thday.,sum);=【程序5】题目:输入三个整数x,,z,请把这三个数由小到大输出。1.程序分析:我们想措施把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行互换,然后再用x与z进行比较,如果
4、xz则将x与的值进行互换,这样能使x最小。2.程序源代码:mn()int,y,z,t;sanf(%d%d%d,x,&,z);if(xy)=x;x=;yt;/*互换x,y的值/f(xz)tz;x;x=t;/*互换x,的值-3if(yz)t=y;y=z;zt;/*互换z,的值*/prtf(smalltoig:%d%dn,x,y,z);=【程序6】题目:用*号输出字母C的图案。1.程序分析:可先用*号在纸上写出字母C,再分行输出。2程序源代码:incluetiohm()pntf(ello-worl!);prntf(*n);if(*n);pin(n);intf(*);=【程序7】题目:输出特殊图案,请
5、在c环境中运营,看一看,VeryBeautful!1.程序分析:字符共有56个。不同字符,图形不同样。2.程序源代码:#icuestdio.hmain()hara16,=219;printf(cc%c%c,,,b);pinf(%c%cc%c%c,,b,a,a);printf(%c%c%cn,a,b,a,a);in(c%c%c%ccn,a,b,a,b,a);prn(%c%c%c%c%n,b,a,a,b);=【程序8】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:ncudstdio.hman()ni,j,result;printf();for(i
6、=1;i0;+)for(j=1;0;)4-result=i*j;rintf(%d*d=%-d,i,j,reslt);/*-3d表达左对齐,占3位rintf(n);*每一行后换行*/=【程序9】题目:规定输出国际象棋棋盘。1.程序分析:用i控制行,j来控制列,根据ij的和的变化来控制输出黑方格,还是白方格。2.程序源代码:#incudet.hmain()int,j;for(=0;i8;i+)for(j=0;j8;j+)f(()%=0)prn(%c,29,219);elsrintf();pntf();=【程序10】题目:打印楼梯,同步在楼梯上方打印两个笑脸。1.程序分析:用i控制行,j来控制列,j
7、根据i的变化来控制输出黑方格的个数。.程序源代码:icudestdiohmai(),j;print(1n);输出两个笑脸*/for(i=1;i1;i+)for(j=1;ji;j+)f(%c%c,219,219);prntf(n);【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每月都生一对兔子,小兔子长到第三个月后每月又生一对兔子,如果兔子都不死,问每月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,1,21.2.程序源代码:min()long1,f;iti;1=f=;for(i=1;=2;i+)tf(%2ld%12ld,f,2);if(i%=0)intf(n);*控制输出,每行四个*/f1f1f2;/*前两个月加起来赋值给第三个月/f21+2;/*前两个月加起来赋值给第三个月/=【程序12】题目:判断1-20之间有多少个素数,并输出所有素数。.程序分析:判断素数的措施:用一种数分别清除2到st(这个数),如果能被整除,则表白此数不是素数,反之是素数。2程序源代码:ndemah.hmain()intm,,k,h=0,leap=1;pritf(n);fr(m=0;m=0;m+)k=sqt(m);f(i=2;i=k;+)f(