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

C++学生成绩统计程序执行后末尾多出Outstanding行如何解决?

问题根因

多余的输出来自main函数中printTable调用后的冗余逻辑:

// 以下为冗余代码
for (int i = 0; i < MAX_SIZE; ++i) {
    oneScore = studScores[i];
}
average = mean(studScores, numStuds);
printGrade(oneScore, average);

这段代码执行时,for循环遍历完所有成绩后,oneScore最终被赋值为最后一名学生的成绩(你的测试用例中为95分),后续又主动调用了一次printGrade输出该成绩对应的等级,就产生了末尾多余的Outstanding行。

修复方案

直接删除上述printTable调用后的全部冗余代码即可,你的printTable函数内部已经完成了所有学生信息的遍历、等级计算和输出工作,不需要额外再做等级输出。

可选优化建议

你当前的printTable函数中每遍历一个学生就调用一次mean函数重新计算平均值,属于重复计算,可以先在调用printTable前算好平均值,作为参数传入printTable,减少不必要的计算开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:36:01