#include<stdio.h>
int main()
{
int score[6][5], sum[6] = {0};
float ave[5] = {0};
for (int i = 0; i < 6; i++)
for (int j = 0; j < 5; j++)
{
scanf_s("%d", &score[i][j]);
sum[i] += score[i][j];
ave[j] += score[i][j];
}
for (int i = 0; i < 5; i++)
ave[i] = ave[i] / 4.0;
for (int i = 0; i < 6; i++)
printf("第%d个学生总成绩为:%d\n", i+1, sum[i]);
for (int i = 0; i < 5; i++)
printf("第%d门课平均成绩为:%f\n", i+1, ave[i]);
return 0;
}
我用3个学生的成绩测试了下代码,发现没有错误,改为计算6个学生的成绩,如下:(更正)
#include <stdio.h>
int main(void){
int score[6][5]; // 存储6个学生5门成绩的二维数组
int stutotal[6]={0}; //存储6个学生总成绩的数组,数组每个元素初始化为0
double stuavg[5]={0}; //存储5门成绩平均成绩的数组,数组每个元素初始化为 0
printf("请输入依次输入每个学生的5门成绩:\n"); //提示信息
int i,j;
for(i=0;i<6;i++){
for(j=0;j<5;j++){ //用两个for循环获取6个学生5门成绩的输入
scanf("%d",&score[i][j]);
stutotal[i]+=score[i][j]; //计算每个学生的总成绩
}
}
for(i=0;i<5;i++){ //计算6个学生的5门课程的平均成绩
stuavg[i]+=score[0][i]+score[1][i]+score[2][i]+score[3][i]+score[4][i]+score[5][i];
stuavg[i]/=6;
}
//打印结果
for(i=0;i<6;i++){
printf("第%d名学生的总成绩为:%d\n",i+1,stutotal[i]);
}
for(j=0;j<5;j++){
printf("第%d门课程的平均成绩为%.2f\n",j+1,stuavg[j]);
}
}