嬴骄 2024-06-01 16:45 采纳率: 100%
浏览 11
已结题

C++课堂作业怎么改错呢?

img

不知道为什么显示错误
题目
已知一个数列从第1项开始的前3项为0、0、1,以后的各项都是其相邻的前3项之和。要求使用递归方法编写函数fun(n),求该数列第n项的值,返回值为长整型,并写出相应的主函数。

  • 写回答

4条回答 默认 最新

  • jiayuqicz 2024-06-01 21:26
    关注

    代码如下,printf函数中,在调用fun函数时,不需要“long”关键字。

    #include <stdio.h>
    
    long fun(int n);
    
    int main()
    {
        int n;
        printf("请输入所要求的项:");
        scanf("%d", &n);
        printf("所求%d项的值为:%ld\n", n, fun(n));
    }
    
    long fun(int n)
    {
        if (n == 1 || n == 2)
            return 0;
        else if (n == 3)
            return 1;
        else
            return fun(n - 1) + fun(n - 2) + fun(n - 3);
    }
    

    输出结果:

    请输入所要求的项:10
    所求10项的值为:44
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月20日
  • 已采纳回答 6月12日
  • 创建了问题 6月1日

悬赏问题

  • ¥50 请教 麒麟系统挂载怎么安装
  • ¥15 如何在ns3中实现路径的自由切换
  • ¥20 SpringBoot+Vue3
  • ¥15 IT从业者的调查问卷
  • ¥65 LineageOs-21.0系统编译问题
  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro