c程序开发经典实例之二

上传人:第*** 文档编号:33997773 上传时间:2018-02-19 格式:DOC 页数:10 大小:34.50KB
返回 下载 相关 举报
c程序开发经典实例之二_第1页
第1页 / 共10页
c程序开发经典实例之二_第2页
第2页 / 共10页
c程序开发经典实例之二_第3页
第3页 / 共10页
c程序开发经典实例之二_第4页
第4页 / 共10页
c程序开发经典实例之二_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《c程序开发经典实例之二》由会员分享,可在线阅读,更多相关《c程序开发经典实例之二(10页珍藏版)》请在金锄头文库上搜索。

1、C 程序开发经典实例之二【程序 11】题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列 1,1,2,3,5,8,13,21.2.程序源代码:main()long f1,f2;int i;f1=f2=1;for(i=1;ik,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你 n,重复执行第一步。(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。2.程序源代码:/* zheng int is di

2、vided yinshu*/main()int n,i;printf(nplease input a number:n);scanf(%d,printf(%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 scoren);scanf(%d,grade=score=90?A:(score=60?B:C);printf(%d belongs to %c,sc

3、ore,grade);=【程序 16】题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。2.程序源代码:main()int a,b,num1,num2,temp;printf(please input two numbers:n);scanf(%d,%d,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:%dn,a);printf(gongbeishu:%dn,n

4、um1*num2/a);=【程序 17】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用 while 语句,条件为输入的字符不为n.2.程序源代码:#include stdio.hmain()char c;int letters=0,space=0,digit=0,others=0;printf(please input some charactersn);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9)digit+;elseothers+;printf(all in all:char=%d space=%d digi

5、t=%d others=%dn,letters,space,digit,others);=【程序 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 nn);scanf(%d,%d,printf(a=%d,n=%dn,a,n);while(count=n)tn=tn+a;sn=sn+

6、tn;a=a*10;+count;printf(a+aa+.=%ldn,sn);=【程序 19】题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=123.编程找出 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;i printf(%d,ki);printf(%dn,kn);= 【程序 20】 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 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 %fn,sn);printf(the tenth is %f metern,hn);

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

当前位置:首页 > 办公文档 > 解决方案

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