个人整理的C例题

上传人:缘*** 文档编号:333287659 上传时间:2022-09-01 格式:PDF 页数:58 大小:4.16MB
返回 下载 相关 举报
个人整理的C例题_第1页
第1页 / 共58页
个人整理的C例题_第2页
第2页 / 共58页
个人整理的C例题_第3页
第3页 / 共58页
个人整理的C例题_第4页
第4页 / 共58页
个人整理的C例题_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《个人整理的C例题》由会员分享,可在线阅读,更多相关《个人整理的C例题(58页珍藏版)》请在金锄头文库上搜索。

1、【程序1】题目:输入三个整数x,y,z,请把这三个数由小到大输出。1 .程序分析:我们想办法把最小的数放到x 上,先将x 与y 进行比较,如果x y 则将x 与y 的值进行交换,然后再用x 与z 进行比较,如果x z 则将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(x z)t=z;z=x;x=t;/*交换 x,z 的值*/if(yz)t=y;y=z;z=t;/*交换 z,y 的值*/printf(nsmall to big:%d%d

2、%dn,x,y,z);【程序2】题目:用*号输出字母C 的图案。1.程序分析:可先用 号在纸上写出字母C,再分行输出。2.程序源代码:#include stdio.hmain()printf(HHello C-world!nM);printf(H*nH);printf(H*nH);printf(M*nM);printf(H*n);【程序3】题目:输出特殊图案,请在c 环境中运行,看 看,Very Beautiful!1.程序分析:字符共有256个。不同字符,图形不一样。2.程序源代码:#include stdio.hmain()char a=176,b=219;printf(%c%c%c%c%

3、cn,b,a,a,a,b);printf(M%c%c%c%c%cnM,a,b,a,b,a);printf(%c%c%c%c%cn,a,a,b,a,a);printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,b,a,a,a,b);【程序4】题目:输出9*9 口诀。1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。2.程序源代码:#include stdio.hmain()(int i,j,result;printf(n);for(i=1 ;i 10;i+)for(j=1;j10;j+)(result=i*j;printf(%d*%

4、d=%-3d,i,j,result);/*-3d 表示左对齐,占3 位*/)printf(n);/*每一行后换行*/)【程序5】题目:要求输出国际象根棋盘。1.程序分析:用 i 控制行,j 来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。2.程序源代码:#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);)【程序10题目:打印楼梯,同时在楼梯上方打印两个笑脸。1 .程序分析:用 i 控制行,j 来控制列,

5、j 根据i 的变化来控制输出黑方格的个数。2.程序源代码:#include stdio.hmain()(int i,j;printf(11n);/*输出两个笑脸*/for(i=1 ;i 11;i+)(for(j=1;j=i;j+)printf(%c%c,219,219);printf(n);)经典C 语言程序设计100例 11-20【程序11题目:古典问题:有对兔子,从出生后第3 个月起每个月都生对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.2.程序源代码:main()(long f1

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

7、n);for(m=101;m=200;m+)k=sqrt(m+1);for(i=2;i=k;i+)if(m%i=O)leap=O;break;if(leap)printf(H%-4d,m);h+;if(h%10=0)printf(Hn);)leap=1;printf(nThe total is%d,h);【程序13题目:打印出所有的“水仙花数”,所谓“水仙花数”是指个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5 的三次方+3 的三次方。1.程序分析:利用fo r循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:mai

8、n()int i,j,k,n;printf(water flowernumber is:);for(n=100;n 1000;n+)(i=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,则说明分解质因数的过程已经结束,打印出即可。(2)

9、如果n k,但 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 numberin);scanf(%d,&n);printf(H%d=,n);for(i=2;i =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1.程序分析:(ab)?a:b这是条件运算符的基本例子。2.程序源代码:main()int s

10、core;char grade;printf(Mplease input a scoren);scanf(%d,&score);grade=score=90?,A:(score=60?B:C);printf(H%d belongs to%c,score,grade);【程序16题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。2.程序源代码:main()int a,b,num1,num2,ternp;printf(nplease input two numbers:n);scanf(%d,%d,&num 1 ,&num2);if(num 1 =宣&cv=z|c=

11、A&cv=Z)letters+;else if(c=*)space+;else if(c=,0,&c=9)digit+;elseothers+;)printf(all in all:char=%d space=%d digit=%d others=%dn,letters,space,digit,others);【程序18题目:求s=a+aa+aaa+aaaa+aaa的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每项的值。2.程序源代码:main()int a,n,count=1;long int sn=

12、0,tn=0;printf(Mplease input a and nn);scanf(H%d,%d,&a,&n);printf(a=%d,n=%dn,a,n);while(count=n)tn=tn+a;sn=sn+tn;a=a*10;+count;)printf(na+aa+.=%ldn,sn);【程 序19题目:个数如果恰好等于它的因子之和,这个数就称为“完数”。例 如6=1+2+3.编程找出1000以内的所有完数。1.程序分析:请参照程序v-上页程序14.2.程序源代码:main()static int k10;int i,j,n,s;for(j=2;j1000;j+)(n=-1;S=

13、j;for(i=1;ij;i+)if(j%i)=O)n+;s=s-i;kn=i;)if(s=O)printf(M%d is a wanshu,j);for(i=0;in;i+)printf(%d,ki);printf(M%dnkn);)【程序20题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 1 0 次落地时,共经过多少米?第 1 0 次反弹多高?1.程序分析:见下面注释2.程序源代码:main()(float sn=1 00.0,hn=sn/2;int n;for(n=2;n 0)x1=(x2+1)*2;/*第一天的桃子数是第2 天桃子数加1 后的2 倍*/

14、x2=x1;day-;)printf(the total is%dn,x1);【程序22题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。己抽签决定比赛名单。有人向队员打听比赛的名单。a 说他不和x 比,c 说他不和x,z 比,清编程序找出三队赛手的名单。1.程序分析:判断素数的方法:用一个数分别去除2 到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。2.程序源代码:main()char i,j,k;/*i 是 a 的对手,j 是 b 的对手,k 是c 的对手*/for(i=x;i=z;i+)for(j=x,;j=z;j+)(if(i!=j)

15、for(k=x;k=z;k+)if(i!=k&j!=k)if(i!=x&k!=x&k!=z)printf(order is a-%ctb-%ctc-%cn,i,j,k);)【程序23题口:打印出如下图案(菱形)1.程序分析:先把图形分成两部分来看待,前四行个规律,后 三 行 个规律,利用双重fo r循环,第一层控制行,第二层控制列。2.程序源代码:main()(int i,j,k;for(i=0;i=3;i+)(for(j=0;j=2-i;j+)p rin tff);for(k=0;k=2*i;k+)printff*);printf(n);for(i=0;i=2;i+)for(j=0;j=i;

16、j+)printf(M);for(k=0;k=4-2*i;k+)printf(*,);printf(nn);)【程序24题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13求出这个数列的前2 0 项之和。1 .程序分析:请抓住分子与分母的变化规律。2.程序源代码:main()int n,t,number=20;float a=2,b=1 ,s=0;for(n=1 ;n=number;n+)s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t 的作用*/)printf(sum is%9.6fn,s);)【程序25题目:求 1 +2!+3!+.+20!的和1.程序分析:此程序只是把累加变成了累乘。2.程序源代码:main()(float n,s=0,t=1;for(n=1;n=20;n+)t*=n;s+=t;)printf(1+2!+3!.+20!=%en,s);)【程序26题目:利用递归方法求5!。1.程序分析:递归公式:fn=fn_1*4!2 程序源代码:#include stdio.hmain()int i;int fact();for

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

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

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