古典问题(兔子生崽):
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔
子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
程序分析:兔子的规律为数列1, 1, 2, 3, 5, 8, 13, 21....,即下个月是上两个月之和(从第三个月开始)。
源代码:
方法一:用自己构造函数的方法解决
#include <stdio.h>
int caculate(int i, int j); //声明计算函数(就可以将函数写在后面)
int main(void) {
int i = 1;
int j = 1;
int num,t;
for (num = 1; num <= 38; num++) {
t = j;
j = caculate(i, j);
i = t;
}
printf("40个月后兔子有%d对。\n", j);
return 0;
}
int caculate(int a, int b) { //计算函数
int k = a + b;
return k;
}
方法二:主要利用了交换变量的值的方法
int main(void) {
int i = 1, j = 1, k, date;
for (date = 1; date < 39; date++) {
k = i + j;
i = j;
j = k;
}
printf("40个月后兔子有%d对。\n", j);
return 0;
}