关于#c语言#的问题,如何解决?

请问请问:如何建立一个二维数组,保存20学生的5门成绩(其中,学生是行,课程是列),并打印每名学生的总成绩、平均成绩和每门课程的总成绩和平均成绩啊?

#include <stdio.h>
int main()
{
    float scores[20][5];
    float stuScores[20] = {0};
    float clsScores[5] = {0};
    int i,j;
    for(i=0;i<20;i++)
    {
        for(j=0;j<5;j++)
        {
            scanf("%f",&scores[i][j]);
            stuScores[i] += score[i][j];
            clsScores[j] += score[i][j];
        }
    }
    for(i=0;i<20;i++)
        printf("学生%d的总成绩:%.1f,平均成绩:%.1f\n",i+1,stuScores[i],stuScores[i]/5);
    for(i=0;i<5;i++)
        printf("课程%d的总成绩:%.1f,平均成绩:%.1f\n",i+1,clsScores[i],clsScores[i]/20);
}

以下答案引用自GPT-3大模型,请合理使用:

。

建立一个二维数组,保存20学生的5门成绩,可以使用#c语言#提供的数组技术。下面是相关代码:

int students[20][5]; //定义二维数组,行为20个学生,列为5门成绩 
for(int i=0;i<20;i++) //外循环,从第0个学生开始,循环20次 
{ 
    int sum = 0; //学生总成绩 
    float avg = 0.0f; //学生平均成绩
    for(int j=0;j<5;j++) //内循环,每个学生的5门成绩 
    { 
        printf("请输入第%d个学生第%d门成绩:",i+1,j+1); 
        scanf("%d",&students[i][j]); //输入每个学生每门课程的成绩 
        sum += students[i][j]; //计算学生总成绩
    } 
    avg = sum / 5.0f; //计算学生平均成绩
    printf("第%d个学生的总成绩为:%d,平均成绩为:%.2f\n",i+1,sum,avg);
} 

//计算每门课程的总成绩和平均成绩 
for(int i=0;i<5;i++) //外循环,从第0门课程开始,循环5次 
{ 
    int sum = 0; //课程总成绩 
    float avg = 0.0f; //课程平均成绩 
    for(int j=0;j<20;j++) //内循环,每个课程的20名学生成绩 
    { 
        sum += students[j][i]; //计算课程总成绩
    } 
    avg = sum / 20.0f; //计算课程平均成绩 
    printf("第%d门课程的总成绩为:%d,平均成绩为:%.2f\n",i+1,sum,avg);
}

如果我的回答解决了您的问题,请采纳我的回答