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

C++不定量输入统计最大值平均值程序无输出问题求助

问题分析与修复说明

核心问题点

  • 输出顺序错误
    题目的输出要求为先打印最大值、再打印平均值,你的代码中cout << avg << " " << max;将两个值的输出顺序颠倒,直接导致输出结果不符合示例要求。比如示例输入的情况下你的代码会输出10 20,和要求的20 10顺序相反。
  • 无输出的原因
    你的while循环逻辑本身没有语法错误,程序无法输出的核心原因是没有触发循环终止条件:只有当程序读取到负整数时才会退出循环执行后续输出逻辑,如果你输入完所有非负整数后没有输入约定好的终止负整数,程序会一直停在输入等待状态,看起来就是没有任何输出。

修复后的代码

#include <iostream>
using namespace std;

int main() {
   int count = 0;
   int max = 0;
   int total = 0;
   int num;
   int avg;
   
   cin >> num;
   
   while (num >= 0) {
      count++;
      total += num;
      
      if (num > max){
         max = num;
      }
      cin >> num;
   }
   
   avg = total / count;
   // 调整输出顺序,先输出最大值,再输出平均值
   cout << max << " " << avg;
   
   return 0;
}

验证说明

用题目给出的示例输入15 20 0 5 -1测试修复后的代码,会输出20 10,完全符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:39:04