a[M][j]= sum/M;邏輯有問題。題目好像是要求列平均,要另辟蹊徑,不能同時用I,J,sum。
修改後的代碼如下:
#定義?m?四
#定義?n?六
int?main(int?argc,char?*argv[]){
雙倍?a[M+1][N+1],sum = 0;
int?I,j;
for(I = 0;我& lt= N;a[M][i++]= 0);//將該行和該列的平均值的初始值相加,賦0。
for(I = 0;我& ltm;i++){
sum = 0;
for(j = 0;j & ltn;j++){
scanf("%lf ",& ampa[I][j]);
sum+= a[I][j];
a[M][j]+= a[I][j];//添加這壹行進行列求和。
}
a[I][N]= sum/N;
//a[M][j]= sum/M;
}
for(I = 0;我& ltn;a[M][i++]/= M);//添加此行以查找列平均值。
對於(?i=0?;?我& ltM+1?;?i++?){//已更改。
對於(?j = 0;?j & ltN+1?;?j++)
printf("%.1f\t ",a[I][j]);//已經改了。
printf(" \ n ");
}