免檒 2023-10-24 18:16 采纳率: 87.5%
浏览 5
已结题

关于斐波那契数列的编程

为什么我的下面的else里的那个printf在输入n=3之后的数字后只输出0,把printf放在else里后,把第n个以及之前的数字都打出来了,我只想输出第n个数字,该怎么改代码?

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-24 21:14
    关注

    【以下回答由 GPT 生成】

    问题的解决方案是将printf语句放在for循环之前,然后在循环的每一次迭代中,都更新并打印斐波那契数列的当前值。以下是修改后的代码示例:

    #include <stdio.h>
    
    int fibonacci(int n)
    {
        if (n == 0 || n == 1)
            return n;
        else
        {
            int a = 0, b = 1, c;
            printf("计算斐波那契数列的过程:\n");
            for (int i = 2; i <= n; i++)
            {
                c = a + b;
                a = b;
                b = c;
                printf("%d\n", b); // 打印斐波那契数列的当前值
            }
            return b;
        }
    }
    
    int main()
    {
        int n = 6; // 假设要计算的斐波那契数列的位置为6
        int result = fibonacci(n);
        printf("斐波那契数列的第%d个数字为: %d\n", n, result);
        return 0;
    }
    

    这样修改后,程序会打印出斐波那契数列的当前值,并且最终只打印出第n个斐波那契数。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 岛津txt格式文件转nirs格式
  • ¥15 石墨烯磁表面等离子体
  • ¥15 angular 项目无法启动
  • ¥15 安装wampserver,图标绿色,但是无法进入软件
  • ¥15 C++ MFC 标准库 加密解密解惑
  • ¥15 两条数据合并成一条数据
  • ¥15 Ubuntu虚拟机设置
  • ¥15 comsol三维模型中磁场为什么没有“速度(洛伦兹项)”这一选项
  • ¥15 electron 如何实现自定义安装界面
  • ¥15 关于#linux#的问题:子进程C运行“ls –l”命令,且显示“C运行ls-l命令”(语言-c语言)