题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问输入月份的兔子总数为多少?
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…,即下个月是上两个月之和(从第三个月开始)。
#include<stdio.h>
int shengzai() {
int i, t = 2, xt = 3, mon;
scanf_s("%d", &mon);
switch (mon) {
case 1:printf("总共有1只兔子"); break;
case 2:printf("总共有1只兔子"); break;
case 3:printf("总共有2只兔子"); break;
case 4:printf("总共有3只兔子"); break;
}
if (mon >= 5) {
for (i = 0; i < (mon - 4); i++) {
int temp;
temp = xt;
xt += t;
t = temp;
}
printf("总共有%d只兔子", xt);
}
return xt;
}
int main(){
shengzai();
return 0;
}