background image

C 语言必背 18 个经典程序

1、/*输出 9*9 口诀。共 9 行 9 列,i 控制行,j 控制列。*/
#include "stdio.h"
main()
{int i,j,result;
 for (i=1;i<10;i++)
   { for(j=1;j<10;j++)
       {
          result=i*j;
          printf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占 3 位*/
       }
      printf("\n");/*每一行后换行*/
   }
}
2、/*古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三
个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列

1,1,2,3,5,8,13,21....*/ 

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; /*前两个月加起来赋值给第三个月*/
   }
}
3、/*判断 101-200 之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除

2 到 sqrt(这个数),如果能被整除,

     则表明此数不是素数,反之是素数。

*/ 

#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)    /*内循环结束后,leap 依然为 1,则 m 是素数*/