我是笨蛋不会debug,QWQ

有无人教教我,不会debug了,麻烦了

要求是:
现有6个学生5门课的成绩,分别用函数实现下列功能:
(1)计算每个学生的平均分;
(2)计算每门课的平均分;
(3)找出所有30个分数中最高分数所对应的学生和课程。
提示:(1)6个学生5门课(分别为语文、数学、英语、物理、化学)的成绩在主函数里初始化为
float score[6][5] = {{78,83,90,72,88}, {70,65,90,67,71}, {87,96,94,92,90}, {64,75,68,71,66}, {81,43,69,67,90},{75,86,84,90,73}};
(2) 各函数的参数和返回值请自行设计, 请不要在子函数中用printf语句输出成绩,而是要通过返回值,在主函数中打印输出。

下面是程序:

#include
int ave1[6], ave2[5];
int score[6][5] = { {78,83,90,72,88}, {70,65,90,67,71}, {87,96,94,92,90}, {64,75,68,71,66}, {81,43,69,67,90},{75,86,84,90,73} };
int average1(int score[6][5])
{
    int i, x;
    int  sum1 = 0;
    for (i = 0; i < 6; i++)
    {
        for (x = 0; x < 5; x++)
        {
            sum1 += score[i][x];
        }
        ave1[i] = sum1 / 5;
        sum1 = 0;
    }
    return (ave1);
}
void average2(int score[6][5])
{
    int i, x, sum2 = 0;
    int ave2[6];
    for (x = 0; x < 5; x++)
    {
        for (i = 0; i < 6; i++)
        {
            sum2 = score[i][x];
        }
        ave2[x] = sum2 / 6;
        sum2 = 0;
    }
    return (ave2);
}
int max(int score[6][5])
{
    int i, x, max = 0, maxobj, maxstu;
    for (i = 0; i < 6; i++)
    {
        for (x = 0; x < 5; x++)
        {
            if (max < score[i][x])
            {
                max = score[i][x];
                maxstu = i;
                maxobj = x;
            }
        }
    }
    return(maxstu * 100 + maxobj);
}
int main()
{
    int subject[20] = { '语文','数学' ,'英语','物理','化学'};
    int i, x, maxstu, maxobj;
    int  number;
    average1(score[6][5]);
    for (i = 0; i < 6; i++)
    {
        x = i + 1;
        printf("第%d个学生的平均分为%g\n", x, ave1[i]);
    }
    average2(score[6][5]);
    for (i = 0; i < 5; i++)
    {
        printf("%s的平均分为%f", subject[i], ave2[i]);
    }
    number = max(score[6][5]);
    maxstu = number / 100 + 1;
    maxobj = number % 10;
    printf("第%d个学生的%s有最高分%g", maxstu, subject[maxobj], score[maxstu - 1][maxobj]);
    return 0;
}

题主修改如下,供参考:

#include<stdio.h>
#define N  6
#define M  5
int ave1[N], ave2[M];
int score[N][M] = { {78,83,90,72,88}, {70,65,90,67,71}, 
                    {87,96,94,92,90}, {64,75,68,71,66}, 
                    {81,43,69,67,90}, {75,86,84,90,73} };
void average1(int score[][M]) //int average1(int score[][M]) 修改
{
    int i, x;
    int  sum1 = 0;
    for (i = 0; i < N; i++) //修改
    {
        for (x = 0; x < M; x++) //修改
        {
            sum1 += score[i][x];
        }
        ave1[i] = sum1 / M;
        sum1 = 0;
    }
    //return (ave1); 修改
}
void average2(int score[][M]) //void average2(int score[6][5]) 修改
{
    int i, x, sum2 = 0;
    //int ave2[6];
    for (x = 0; x < M; x++) //修改
    {
        for (i = 0; i < N; i++) //修改
        {
            sum2 += score[i][x];  //sum2 = score[i][x]; 修改
        }
        ave2[x] = sum2 / N;
        sum2 = 0;
    }
    //return (ave2);  修改
}
int max(int score[][M], int x)
{
    int i, max = 0, maxobj, maxstu;
    for (i = 0, max = score[i][x], maxstu = 0; i < N; i++) //修改
    {
        //for (x = 0; x < 5; x++)  //修改
        //{
        if (max < score[i][x])
        {
            max = score[i][x];
            maxstu = i;
            //maxobj = x;        //修改
        }
        //}
    }
    return maxstu;
    //return(maxstu * 100 + maxobj);
}
int main()
{
    char subject[M][8] = { "语文","数学" ,"英语","物理","化学" }; //修改
    // int subject[20] = { '语文','数学' ,'英语','物理','化学'};
    int i, x, maxstu, maxobj;
    int  number;
    average1(score); //average1(score[6][5]); //修改
    for (i = 0; i < N; i++)
    {
        x = i + 1;
        printf("第%d个学生的平均分为%d\n", x, ave1[i]);  //修改
        //printf("第%d个学生的平均分为%g\n", x, ave1[i]);
    }
    average2(score); //average2(score[6][5]);  //修改
    for (i = 0; i < M; i++)
    {
        printf("%s的平均分为%d\n", subject[i], ave2[i]); //修改
        //printf("%s的平均分为%f", subject[i], ave2[i]);
    }
    //number = max(score[6][5]);  //修改
    //maxstu = number / 100 + 1;  //修改
    //maxobj = number % 10;       //修改
    for (i = 0; i < M; i++)
    {
        number = max(score, i);
        printf("第%d个学生的%s有最高分%d\n", number+1, subject[i], score[number][i]); //修改
        //printf("第%d个学生的%s有最高分%g", maxstu, subject[maxobj], score[maxstu - 1][maxobj]);
    }
    return 0;
}

要善于运用百度
https://blog.csdn.net/qq_67833725/article/details/124885415?ops_request_misc=&request_id=&biz_id=102&utm_term=%E7%8E%B0%E6%9C%896%E4%B8%AA%E5%AD%A6%E7%94%9F5%E9%97%A8%E8%AF%BE%E7%9A%84%E6%88%90%E7%BB%A9%EF%BC%8C%E5%88%86%E5%88%AB%E7%94%A8%E5%87%BD%E6%95%B0%E5%AE%9E%E7%8E%B0%E4%B8%8B%E5%88%97%E5%8A%9F%E8%83%BD%EF%BC%9A%20%EF%BC%881%EF%BC%89%E8%AE%A1&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-0-124885415.nonecase&spm=1018.2226.3001.4450