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

C++程序开发需求:求和求平均及成绩数组平均值计算(排除未完成项)

嘿,我来帮你搞定这两个C++编程任务,直接上代码和详细解释:

任务1:接收用户输入的值并求和、计算平均值

这个程序会先让你输入要计算的数字数量,然后逐个接收输入,最后输出总和与平均值。

#include <iostream>
using namespace std;

int main() {
    int count;
    cout << "请输入要计算的数字个数:";
    cin >> count;

    if (count <= 0) {
        cout << "输入的个数必须大于0!" << endl;
        return 1;
    }

    double sum = 0.0;
    double num;

    for (int i = 0; i < count; ++i) {
        cout << "请输入第" << i+1 << "个数字:";
        cin >> num;
        sum += num;
    }

    double average = sum / count;
    cout << "总和为:" << sum << endl;
    cout << "平均值为:" << average << endl;

    return 0;
}

代码说明

  • 先判断输入的数字个数是否合法(必须大于0),避免出现除以0的错误
  • 使用double类型存储总和与平均值,保证小数计算的精度
  • 循环接收每个输入值并累加,最后计算并输出结果

任务2:计算数组中10个成绩的平均值(排除未完成的-1)

这个程序会处理给定的10个成绩数组,自动排除值为-1的未完成作业,同时处理所有成绩都是-1的特殊情况。

#include <iostream>
using namespace std;

int main() {
    // 示例的10个成绩数组,你可以替换成实际需要处理的数组
    int scores[10] = {85, 92, -1, 78, 90, -1, 88, 95, 76, -1};

    int validCount = 0;
    int total = 0;

    for (int i = 0; i < 10; ++i) {
        if (scores[i] != -1) {
            total += scores[i];
            validCount++;
        }
    }

    if (validCount == 0) {
        cout << "所有成绩均未完成,无法计算平均值!" << endl;
    } else {
        double average = static_cast<double>(total) / validCount;
        cout << "有效成绩的数量:" << validCount << endl;
        cout << "有效成绩的总和:" << total << endl;
        cout << "平均值为:" << average << endl;
    }

    return 0;
}

代码说明

  • 遍历数组时,只统计不等于-1的有效成绩,同时记录有效数量和总和
  • 使用static_cast<double>将总和转为浮点型,避免整数除法导致的精度丢失
  • 专门判断有效数量为0的情况,给出友好提示,避免除以0的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:36:46