C语言,函数,为什么执行不了?该怎么修改?

img

#include <stdio.h>
float score[5][3];
void student(void);
void course(void);

float saver;
int main()
{
int i, j; //输入5个学生3门成绩
for (i = 0; i < 10; i++)
{
for (j = 0; j < 5; j++)
{
scanf("%f", &score[i][j]);
}
}

student();
course();

}

void student(void) //计算每个学生的平均分
{
printf("每个学生的平均分为:" );
int i, j = 0;
float sum=0;
for (i = 0; i < 10; i++)
{
sum = 0;
for (j = 0; j < 5; j++)
{
sum = sum + score[i][j];
}
saver = sum / 5;
printf("%f\n",saver);
}
}

void course(void) //计算每门课的平均分
{
printf("每门课的平均分为:");
int i, j;
float sum = 0,caver;
for (j = 0; j < 5; j++)
{
sum = 0;
for (i = 0; i < 10; i++)
{
sum = sum + score[i][j];
}
caver = sum / 5;
printf("%f\n", caver);
}
}

代码帮你改了一下,参考如下:

#include <stdio.h>
float score[5][3];
void student(void);
void course(void);

int main()
{
    int i, j; //输入5个学生3门成绩
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 3; j++)
        {
            scanf("%f", &score[i][j]);
        }
    }

    student();
    course();
}

void student(void) //计算每个学生的平均分
{
    printf("\n每个学生的平均分为:" );
    int i, j = 0;
    float sum;
    for (i = 0; i < 5; i++)
    {
        sum = 0;
        for (j = 0; j < 3; j++)
        {
            sum = sum + score[i][j];
        }
        printf("%f ", sum / 3);
    }
}

void course(void) //计算每门课的平均分
{
    printf("\n每门课的平均分为:");
    int i, j;
    float sum;
    for (j = 0; j < 3; j++)
    {
        sum = 0;
        for (i = 0; i < 5; i++)
        {
            sum = sum + score[i][j];
        }
        printf("%f ", sum / 5);
    }
}

img


如有帮助,欢迎采纳哈!