C语言程序设计100例_第1页
C语言程序设计100例_第2页
C语言程序设计100例_第3页
C语言程序设计100例_第4页
C语言程序设计100例_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计100例(2)MIME-Version: 1.0 Content-Location: file:/C:/0917AA32/anli02.htmContent-Transfer-Encoding: quoted-printable Content-Type: text/html;charset=us-ascii经典 c 程序 100 例 =3D=3D11-20【程序 11】题目:古 = 0856; 问题:有一对兔子 ? = 2; 从出生后第 3个月起每个月? = 7; 生一对兔子,小兔子 &= #38271; 到第三个月后每&= #20010;月又生一对兔子,= 551; 如兔子都

2、不死,问每 = ;个月的兔子总数为多 ?1. 程序分析:兔子 规律为数列 1,1,2,3,5,8,13,21 2. 程序源代码:main()long f1,f2;int i;f1=3Df2=3D1;for(i=3D1;i=3D20;i+) printf(%12ld %12ld,f1,f2); if(i%2=3D=3D0) printf(&qu=ot;n);/* 控制输出,每 ?= 92; 四个*/f1=3Df1+f2; /*= 069; 两个月加起来赋值给 = ; 第三个月 */f2=3Df1+f2; /*= 069; 两个月加起来赋值给 = ; 第三个月 */=3D=3D=3D=3D=3D=

3、3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3; 序 12】题目:判 = 6029;101-200 之间有多少个 = 素数,并输出所有素 = 5968; 。1.程序分析:判断素 的方法:用一个数分别去 ? = 0;2 到 sqrt( 这个= ; 数),如 果能被整 ? = 0; ,= 则表明此

4、数不是素 = 968; ,反之是素数。2. 程序源代码:#include math.hmain()int m,i,k,h=3D0,leap=3D1;printf(n);for(m=3D101;m=3D200;m+) k=3Dsqrt(m+1);for(i=3D2;i=3Dk;i+)if(m%i=3D=3D0)= leap=3D0;break;if(leap) printf(%-4d,m);h+;=if(h%10=3D=3D0)=printf(n);= leap=3D1;printf(nThe total is %d,h); =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3

5、D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3; 序 13】题目:打 = 1360; 出所有的“水仙花数”,所谓“水仙花数”是指一个三位数 其各位数字立方和等于该 ? = 8;本身&= #12290;例如:153是一个“水仙花数”,因为 153= =3D1的三次方+ 5的三次方 3 的三次方。1. 程序分析:利用 for 循环控制

6、 1= 00-999 个数,每个数分解出? = 0; 位,十位,百位。2. 程序源代码:main()int i,j,k,n;printf(water flowernumber is:);for(n=3D100;n1000;n+)i=3Dn/100;/* 分?= 9; 出百位 */j=3Dn/10%10;/* 分#= 299; 出十位 */k=3Dn%10;/* 分解= ; 出个位 */if(i*100+j*10+k=3D=3Di*i*i+j*j*j+= k*k*k)printf(%-5d,n);printf(n);=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=

7、3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3; 序 14】题目:将 = 9968; 个正整数分解质因 ? = 8; 。例如:输入 90, 打印出 90=3D2*3*= 3*5 。程分析:对n进行分解质因? = 8;,应先找到一个最小 &= #30340;质数k,然后按下述 ? = 3; 骤完成:(1)如果这个质数恰等 &= #20110;

8、n ,则说明分解 ?= 6;因数的过程已经结束 &= #65292;打印出即可。如果nk, e =94;n能被k整=8500;,则应打印出k的值,并用n除以k的商,作=0026;新的正整数你 n,重复执行第一步 = 290;如果n不能? = 7;k整除,则用k+1作为k的值,重=2797;执行第一步。2. 程序源代码:/* zheng int is divided yinshu*/main()int n,i;printf(nplease input a number:n);scanf(%d,&n);printf(%d=3D,n);for(i=3D2;i=3Dn;i+)while(n!=3Di)

9、if(n%i=3D=3D0) printf(%d*,i);n=3Dn/i;elsebreak;printf(%d,n);=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3; 序 15】题目:利 = 9992;条件运算符的嵌套? = 9;完成此题:学习成绩 =3D90

10、分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1. 程序分析: (ab= )?a:b 这是 = 6465; 件运算符的基本例 ? = 6; 。2. 程序源代码:main()int score;char grade;printf(please input a scoren= );scanf(%d,&score);grade=3Dscore=3D90?A:(score=3D6= 0?B:C);printf(%d belongs to %c,score,grade);=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3

11、D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3; 序 16】题目:输=0837;两个正整数 m和n,求=0854;最大公约数和最小?= 4;倍数。1. 程序分析:利用辗除法。2. 程序源代码: =main()int a,b,num1,num2,temp;printf(please input two numbers:n);scanf(%d,%d,&num1,&nu= m2

12、);if(num1 temp=3Dnum1;num1=3Dnum2;num2=3Dtemp;a=3Dnum1;b=3Dnum2;while(b!=3D0)/* 利用辗除法, ?= 52; 到 b 为 0 为止 */temp=3Da%b;a=3Db;b=3Dtemp;prin tf(go ngyueshu:%dn,a);prin tf(go ngbeishu:%dn, nu m1* nu m2/a);=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

13、=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3;序17】题目:输=0837; 一行字符,分别统?= 5;出其中英文字母、空 &= #26684;、数字和其它字符-=340;个数。1. 程序分析:利用 while语句,条=;件为输入的字符不为 2._程序源代码:#in clude stdio.hmain ()char c;int letters=3D0,space=3D0,digit=3D0,other= s=3D0;prin tf(please in pu

14、t some charactersn);whileKcPDgetcharOypDVT)if(c=3Da&c= ;=3DA &c=3DO&c=3D9)=digit+;elseothers+;prin tf(all in all:char=3D%d space=3D%d digit=3D%d others=3D%dn= letters,space,digit,others);=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3

15、D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3;序18】题目:求 s=3Da+aa+aaa+aaaa+aa.a_的值,其 =;中 a 是一个数字。?=3;女n2+22+222+2222+22222(此时=共有5 个数相力n ),几个数相加有键?= 4; 控制。1. 程序分析:关键是 算出每一项的值。2. 程序源代码:main ()int a,n,coun t=3D1;long int sn=3D0,tn=3D0;prin tf(please in put a and nn=);sca

16、nf(%d,%d,&a,&n);prin tf(a=3D%d, n=3D%dn,a, n);v= brwhile(count=3Dn)tn=3Dt n+a;sn=3Ds n+tn;a=3Da*10;+count;printf(a+aa+.=3D%ldn,sn);卜-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D-3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=-3D-3D-3D-3D-3D-3

17、D-3D-3D-3D-3D=3D=3D【? = 3序19】题目:一个数如果恰?= 9;等于它的因子之和,&= #36825;个数就称为 “完数”。例如6=3D1+ 2 + 3.编程找出 1000_以内的所=; 有完数。1. 程序分析;请参照 &= #31243;序 -上页程序14.2. 程序源代码;main ()static int k10;int i,j,n,s;for(j=3D2;j1000;j+)n=3D 1;s=3Dj;for(i=3D1;iJ;l+)if(j%i)=3D=3D0)n+;s=3Ds-i;kn =3Di;Tif(s=3D=3D0)prin tf(%d is a wan shu,j);for(i=3D0;iN;l+)printf(%d,ki);printf(%dn,kn);=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D【? = 3序20】题冃;一 =9699;从100米高度自由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论