You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++ FizzBuzz程序输入15时首行多输出FizzBuzz问题排查

错误原因
  • 循环起始值设置错误:你当前的fizzBuzz函数中for循环从i=0开始遍历,0同时满足被3和5整除的条件,因此会额外输出第一行的FizzBuzz,而FizzBuzz规则要求从1开始输出到输入的整数n,因此循环起始值需要调整为1。
  • 条件判断逻辑冗余:当前代码使用4个独立的if语句做判断,虽然当前4个条件互斥不会触发重复输出,但可以改为if-else if结构,减少不必要的条件判断,逻辑也更清晰。
修复后的fizzBuzz函数代码
void fizzBuzz(int n) {
    // 循环起始值从0改为1
    for(int i = 1; i <= n; i++)
    {
        // 优先判断同时被3和5整除的情况,再依次判断单个整除的情况,最后输出原数
        if(i % 3 == 0 && i % 5 == 0)
        {
            cout << "FizzBuzz" << endl;
        }
        else if(i % 3 == 0)
        {
            cout << "Fizz" << endl;
        }
        else if(i % 5 == 0)
        {
            cout << "Buzz" << endl;
        }
        else
        {
            cout << i << endl;
        }
    }
}

修改后重新编译运行,输入15即可得到预期输出。

内容的提问来源于stack exchange,提问作者user16961399

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:57:03