經(jīng)典C程序100例==11--20

字號(hào):

【程序11】
    題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月
     后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少?
    1.程序分析: 兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21....
    2.程序源代碼:
    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");/*控制輸出,每行四個(gè)*/
     f1=f1+f2; /*前兩個(gè)月加起來(lái)賦值給第三個(gè)月*/
     f2=f1+f2; /*前兩個(gè)月加起來(lái)賦值給第三個(gè)月*/
     }
    }
    【程序12】
    題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。
    1.程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除,
      則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。       
    2.程序源代碼:
    #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);
    }