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

一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第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 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?
  • ¥50 使用quartz框架进行分布式任务定时调度,启动了两个实例,但是只有一个实例参与调度,另外一个实例没有参与调度,不知道是为什么?请各位帮助看一下原因!!
  • ¥50 怎么获取Ace Editor中的python代码后怎么调用Skulpt执行代码
  • ¥30 fpga基于dds生成幅值相位频率和波形可调的容易信号发生器。
  • ¥15 R语言shiny包和ncdf4包报错