平均を出すデータ
Posted: 2019年7月30日(火) 22:15
こんばんは、学校の課題が上手く出来ず質問させてもらいにきました。
./a.exe
1001 85 74 63 90 78.0
1002 78 65 70 62 68.8
1003 89 92 88 76 86.2
1004 32 48 66 25 42.8
1005 92 76 81 98 86.8
75.2 71.0 73.6 70.2
このように表示したいです。最右列と最下行はそれまでの行と列の平均を示しています。最左列は学生番号なので計算しないです。
としたのですが一番右上の平均と一番下の列の右の平均がうまく計算できません。
どなたか解説をお願いしたいです。
./a.exe
1001 85 74 63 90 78.0
1002 78 65 70 62 68.8
1003 89 92 88 76 86.2
1004 32 48 66 25 42.8
1005 92 76 81 98 86.8
75.2 71.0 73.6 70.2
このように表示したいです。最右列と最下行はそれまでの行と列の平均を示しています。最左列は学生番号なので計算しないです。
#include <stdio.h>
int main(){
int i=0,j=0;
float b[5] = {0,0,0,0,0};
float c[4] = {0,0,0,0};
int a[5][5] = {
{1001,85,74,63,90},
{1002,78,65,70,62},
{1003,89,92,88,76},
{1004,32,48,66,25},
{1005,92,76,81,98},
};
for(i=0;i<5;i++){
for(j=1;j<5;j++){
b[i] += a[i][j];}
b[i] /= 4;
}
for(i=0;i<5;i++){
for(j=1;j<5;j++){c[j] +=a[i][j];
if(i==4){
c[j] /= 5;}
}
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%d ",a[i][j]);
}
printf("%5.1f",b[i]);
printf("\n");
}
printf(" ");
for(j=1;j<5;j++){
printf(" %5.1f",c[j]);
}
}
どなたか解説をお願いしたいです。