关于#for#的问题,如何解决?(语言-c语言)

假如有十个学生五门课程,如何求每门课程的最高分与最低分对应的学生,用for循环语句。

定义一个10行5列的数组,每一列表示一个学生的5门课程的成绩,从第一行开始遍历每一行,分别找出每一行的最大值和最小值。

下面这几处改一下

img

img

完整代码如下:


#include <stdio.h>
#include <math.h>

void input_score(int score[10][5]); // 声明输入函数
void max_course(int score[10][5]);  // 声明求最大数函数


int main(int argc, const char *argv[])
{
    int sc[10][5];

    input_score(sc);                    // 调用输入函数
    max_course(sc);                     // 调用求最大数函数
    printf("\n");
    return 0;
}
// 输入函数
void input_score(int score[10][5])
{
    int i, j;
    for (i = 0; i < 10; i++)
    {
        printf("第%d个学生的成绩:\n", i + 1);
        for (j = 0; j < 5; j++)
        {
            scanf("%d", &score[i][j]);
        }
    }
}
// 求最大数函数
void max_course(int score[10][5])
{
    int i, j, max = 0, stu = 0, cour = 0;
    for (i = 0; i < 10; i++){
        max = -1;
        for (j = 0; j < 5; j++)
            if (score[i][j] > max)
            {
                max = score[i][j];
                stu = i + 1;
                cour = j + 1;
            }
        printf("第%d个学生的第%d门课获得了%d的最高分\n", stu, cour, max);
    }
        
    
}