请问请问:如何建立一个二维数组,保存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);
}
如果我的回答解决了您的问题,请采纳我的回答