大一刚接触c语言不知道在哪里出了问题,总是有两个数字不对
这是题干:
例-输入某班级学生的四门课成绩,
求每个学生的平均成绩及每门课的平均成绩。
程序设计分析,本题要求既要按行计算平均值(学生平均成绩),
又要按列计算平均值(每门课的平均成绩)。
求每个学生的平均成绩及每门课的平均成绩。
输入样例:
在这里给出一组输入。例如:
76 90 87 65
77 54 69 80
89 92 83 79
54 60 48 51
88 76 65 83
输出样例:
在这里给出相应的输出。例如:
NO 1: 79.50
NO 2: 70.00
NO 3: 85.75
NO 4: 53.25
NO 5: 78.00
Score 1: 76.80
Score 2: 74.40
Score 3: 70.40
Score 4: 71.60
这是自己写的代码
#include<stdio.h>
int main(){
int s[5][4],sum1[4],sum2[5];//sum1 学生总分,sum2 各科总分
int i,j;
double av1[5],av2[4];
for(i=0;i<5;i++)
for(j=0;j<4;j++)
scanf("%d",&s[i][j]);
for(i=0;i<5;i++){
for(j=0;j<4;j++){
sum1[i]+=s[i][j];
av1[i]=(sum1[i]*1.0)/4;}}
for(j=0;j<4;j++){
for(i=0;i<5;i++){
sum2[j]+=s[i][j];
av2[j]=(sum2[j]*1.0)/5;}}
for(i=0;i<5;i++){printf("NO %d: %.2lf\n",i+1,av1[i]);}
for(j=0;j<3;j++){printf("Score %d: %.2lf\n",j+1,av2[j]);}
printf("Score 4: %.2lf",av2[3]);
return 0;
}
这是编辑器输出:
NO 1: 79.50
NO 2: 70.00
NO 3: -189202502.25
NO 4: 8244.25
NO 5: 78.00
Score 1: 139.20
Score 2: 74.40
Score 3: 70.40
Score 4: 71.60
NO3和NO4,sco1出现莫名其妙的数字
请赐教