c语言二维数组输出最高分最低分

输入五名同学三门成绩,用二维数组,表示会输入成绩,但输出且比较最高分最低分就有点迷茫,有可以指导一下的莫

img

成绩就是对每一列进行比较,获得最大和最小即可

思路:二维数组存学生成绩,再定义两个最大值和最小值的数组来存储最大值和最小值(或者再定义一个二维数组来存储最大值和最小值m[3][2])
参考代码如下:

#include <iostream>
using namespace std;
int main() {
    int s[5][3] = {0};
    int max[3] = {0};
    int min[3] = {0};
    cout << "输入学生成绩:" << endl;
    for (int i = 0; i < 5; i++) {
        cin >> s[i][0] >> s[i][1] >> s[i][2];
        if (i == 0) {
            max[0] = min[0] = s[i][0];
            max[1] = min[1] = s[i][1];
            max[2] = min[2] = s[i][2];
        } else {
            if (max[0] < s[i][0]) {
                max[0] = s[i][0];
            }
            if (max[1] < s[i][1]) {
                max[1] = s[i][1];
            }
            if (max[2] < s[i][2]) {
                max[2] = s[i][2];
            }
            if (min[0] > s[i][0]) {
                min[0] = s[i][0];
            }
            if (min[1] > s[i][1]) {
                min[1] = s[i][1];
            }
            if (min[2] > s[i][2]) {
                min[2] = s[i][2];
            }
        }
    }
    cout << "成绩汇总输出:" << endl;
    cout << "\t  最高分\t最低分" << endl;
    for (int i = 0; i < 3; i++) {
        cout << "课程" << i + 1 << "\t" << max[i] << "\t " << min[i] << endl;
    }
    return 0;
}