怎么做求你帮我想下这

2、编程实现输入 10 个学生的姓名以及 5 门课的成绩。
1)计算每个学生的平均分
2)计算每门课的平均分
3)分析出每门课的最高分和对应的学生姓名。

代码如下,如有帮助,请帮忙采纳一下,谢谢。

#include <stdio.h>


struct Student 
{
    char name[20];
    int score[5];
    float avg;
};



int main()
{
    int i,j;
    struct Student a[10];
    float avg[5] = {0}; //每门课的平均分
    int sum;
    int maxscore[5],maxindex[5];
    for(i = 0;i<10;i++)
    {
        printf("请输入学生%d的姓名和成绩(以空格分隔):" ,i+1);
        sum = 0;
        scanf("%s",a[i].name);
        for(j = 0;j<5;j++)
        {
            scanf("%d",&a[i].score[j]);
            sum += a[i].score[j];
        }
        a[i].avg = sum/5.0; //计算平均成绩
    }

    printf("平均成绩如下:\n");
    for(i = 0;i< 10;i++)
        printf("%s %.2f\n",a[i].name,a[i].avg);

    printf("没门课的平均分:\n");
    for(j = 0;j< 5;j++)
    {
        avg[j] = 0;
        maxscore[j] = a[0].score[j];
        maxindex[j] = 0;
        for(i=0;i<10;i++)
        {
            avg[j] += a[i].score[j];
            //求最大值
            if(a[i].score[j] > maxscore[j])
            {
                maxscore[j] = a[i].score[j];
                maxindex[j] = i;
            }
        }
        avg[j]/= 10.0;
        printf("第%d门课的平均分:%.2f\n",j+1,avg[j]);
    }

    printf("每门课的最高分和对应的学生姓名:\n");
    for(j = 0;j<5;j++)
        printf("第%d门课最高分:%d,学生姓名:%s\n",j+1,a[maxindex[j]].score[j],a[maxindex[j]].name);
    
    return 0;
    
}

C语言打扰了,表示不会。