马井堂十个经典的C语言程序.pdfVIP

  • 1
  • 0
  • 约5.63千字
  • 约 11页
  • 2019-11-11 发布于四川
  • 举报
十个经典的C语言程序 【程序01 】 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子, 小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多 少? 1. 程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21 2. 程序源代码: #include stdio.h #include conio.h main() { long f1,f2; int i; f1=f2=1; for(i=1;i=20;i++) { printf(%12ld %12ld,f1,f2); if(i%2==0) printf(\n); /* 控制输出,每行四个 */ f1=f1+f2; /* 前两个月加起来赋值给第三个月 */ f2=f1+f2; /* 前两个月加起来赋值给第三个月 */ } getch(); } ============================================================== 【程序02 】 题目:判断 101-200 之间有多少个素数,并输出所有素数。 1. 程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt( 这个数 ) ,如果 能被整除, 则表明此数不是素数,反之是素数。 2. 程序源代码: #include stdio.h #include conio.h #include math.h main() { int m,i,k,h=0,leap=1; printf(\n); for(m=101;m=200;m++) { 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=1; } printf(\nThe total is %d,h); getch(); } ============================================================== 【程序03 】 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其 各位数字立方和等于该数 本身。例如: 153 是一个“水仙花数”,因为 153=1 的三次方+ 5 的三 次方+ 3 的三次方。 1. 程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位, 百位。 2. 程序源代码: #include stdio.h #include conio.h main() { int i,j,k,n; printf(water flowernumber is:); for(n=100;n1000;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); } getch(); } ============================================================== 【程序04 】 题目:将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5 。 程序分析: 对 n 进行分解质因数, 应先找到一个最小的质数 k ,然后按下述步 骤完成: (1) 如果这个质数恰等于 n,则说明分解质因数的过程已经结束, 打印出即可。 (2) 如果 nk,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商 , 作 为新的正整数你 n, 重复执行第一步。

文档评论(0)

1亿VIP精品文档

相关文档