要求

输入某一个班所有学生的计算机考试成绩int score[100],以负数表示输入结束。统计学生人数并对成绩进行分析,找出其中的最高分并求出平均分。
输出结果见图: 1.jpg
要求与输出样张一样才能得到满分。

题目

#include <iostream>

using namespace std;
int main() {
        /**********Program**********/

        /**********  End  **********/
        return 0;
}

参考答案

        int score[100];
        int num = 0, i, max;
        double av = 0;

        cout << " 输入成绩且负数表示结束 " << endl;
        do {
            cin >> score[num];
            num++;
        } while (score[num - 1] > 0);
        num--;
        max = score[0];
        for (i = 0; i < num; i++) {
            av = av + score[i];
            if (max < score[i])
                max = score[i];
        }
        av = av / num;
        cout << " 共有 " << num << " 人 " << endl;
        cout << " 成绩如下 " << endl;
        for (i = 0; i < num; i++)
            cout << score[i] << "  ";
        cout << endl;
        cout << " 最高分 " << max << endl;
        cout << " 平均分 " << av << endl;

Deepseek版答案

    int score[100] {}, num = 0, max;
    double av = 0;

    cout << "输入成绩且负数表示结束" << endl;
    for (int t; num < 100 && cin >> t && t >= 0; score[num++] = t);
    if (!num) return 0;

    max = score[0];
    for (int i = 0; i < num; av += score[i++])
        if (score[i] > max) max = score[i];
    av /= num;

    cout << "共有" << num << "人\n成绩如下\n";
    for (int i = 0; i < num; cout << score[i++] << "  ");
    cout << "\n最高分" << max << "\n平均分" << av << endl;