解题思路分享:
1、后续遇到类似的题目,先花点时间总结一下相关规律,推导出robit_calc(x) = robit_calc(x-1) + robit_calc(x-2) 的结论

2、其次你分析题目意思也可以推导得出,这个月的兔子数量=  上个月兔子数量 + 这个月新增的兔子数量(其实也就是 上上个月的兔子数量) 因为两个月前的所有兔子 在本月 都会生兔子。

3、 while循环中 需要设置退出条件,需要判断输入是否为有效数据,否则退出循环。
备注:(如果没有这个判断,会导致程序报错,在实际的代码编写中,同样需要考虑到输入参数可信的问题。)

#include <stdio.h>

unsigned int robit_calc(unsigned int Times) {
    if ((Times == 1) || (Times == 2))
        return 1;
    else
        return robit_calc(Times -1) + robit_calc(Times -2);
}

int main(void) {
    unsigned int Nums = 0;
    unsigned int Times = 0;
    //while (scanf("%d", &Times) != EOF) {
    while (1) {
        if(scanf("%d", &Times) == EOF) break;
        Nums = robit_calc(Times);
        printf("%d\n", Nums);
    }
    return 0;
}