⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例6.7.txt

📁 C语言课件,清华大学出版的书的配套的.很好用,尽管下载.
💻 TXT
字号:
例6.7求fibonacci数列40个数。这个数列有如下特点:第1,2两个数为1,1。从第3个数开始,该数是其前面两个数之和。即:
f1=1 (n=1)
f2=1           (n=2)
fn=fn-1+fn-2   (n≥3)
这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?

解此题的算法如图6.13所示。

程序如下:
main()
    { 
     long int f1,f2;
     int i;
     f1=1;f2=1;
     for(i=1; i<=20; i++)
      {
        printf("%12ld %12ld ",f1,f2);
        if(i%2==0) printf("\n");
        f1=f1+f2;
        f2=f2+f1;
       }
     }
    运行结果为:
               1             1             2               3
               5             8            13              21
              34            55            89             144
             233           377           610             987
            1597          2584          4181            6765
           10946         17711         28657           46368
           75025        121393        196418          317811
          514229        832040       1346269         2178309
         3524578      57022887       9227465        14930352
        24157817      39088169      63245986       102334155

    程序中在printf函数中输出格式符用“%12 ld”,而不是用“%12d”,这是由于在第23个数之后,整数值已超过整数最大值32767,因此必须用“%ld”格式输出。if语句的作用是使输出4个数后换行。i是循环变量,当i为偶数时换行,而i每增值1,就要计算和输出2个数(f1,f2),因此i每隔2换一次行相当于每输出4个数后换行输出。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -