GSBabe 2022-10-24 14:39 采纳率: 50%
浏览 984
已结题

一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年有头母牛?(C语言 递归函数)

题目
一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年有头母牛?
我使用的是DevC++ 6.3
代码可以正常运行 有return 0 但是算出来的结果不符合题目的正确算法
后面递归函数如果year<4 那么输出结果都应该1才对
可是我的结果是我输入数字是多少 输出就是多少 哪怕超过4 输出结果也是和输入一样
不太清楚问题出在哪里 麻烦各位帮忙看看!!
代码
#include <stdio.h>
int MyGetCowR(int);
int main()
{
int year;
printf("A heifer gives birth to a cow every year from the fourth year of life. \n According to this rule, how many cows are there in the n year? \n");
printf("Input n = ");
scanf("%d",&year);
printf("There are %d cows. \n", year, MyGetCowR(year));
return 0;
}
int MyGetCowR(int year)
{
if (year < 4)
return 1;
else
return MyGetCowR(year-1) + MyGetCowR(year-3);
}

下面是我运行出来的结果

img

  • 写回答

1条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-10-24 14:51
    关注

    一个%d,怎么有两个变量,那你输出的就是年份了呀,
    改成 printf("There are %d cows. \n", MyGetCowR(year));

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月1日
  • 已采纳回答 10月24日
  • 创建了问题 10月24日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵