C 练习实例11
题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。
程序源代码:
// Created by www.www.fxku.cn on 15/11/9.
// Copyright ? 2015年 小库网. All rights reserved.
//
// 本程序打印斐波那契数列的前20项
#include <stdio.h>
int main()
{
int a = 1, b = 1, temp, i;
printf("%12d%12d", a, b); // 输出前两项
for (i = 3; i <= 20; i += 2)
{
temp = a + b; // 计算下一项
printf("%12d", temp); // 输出下一项
a = b; // 更新a
b = temp; // 更新b
temp = a + b; // 再计算下一项
printf("%12d\n", temp); // 输出并换行
a = b; // 更新a
b = temp; // 更新b
}
return 0;
}
以上实例输出结果为:
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 5702887 9227465 14930352 24157817 39088169 63245986 102334155