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

一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第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 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用
  • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
  • ¥15 Linux环境下CA证书更新问题
  • ¥15 sqlserver语句提取结果以外数据
  • ¥60 微信小程序如何上传QQ聊天文件
  • ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失