C语言二维数组求平均值

2024年11月23日 07:00
有2个网友回答
网友(1):

  1. 由于整数的平均值也应该是浮点值,所以a[i][N]=sum/N;这样不行。建议你把a数组和sum都声明为浮点型。

  2. a[M][j]=sum/M;逻辑有错。题目似乎是要求列平均值,应该另想办法,不能兼用i、j以及sum了。

改后代码如下:

#define M 4
#define N 6
int main(int argc,char *argv[]){
double a[M+1][N+1],sum=0;
int i,j;
for(i=0;i<=N;a[M][i++]=0);//加这一行列平均值初值赋0
for(i=0;i sum=0;
for(j=0;j scanf("%lf",&a[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;i for( i=0 ; i for( j=0; j printf("%.1f\t",a[i][j]);//有改
printf("\n");
}

网友(2):

定义数组那里直接用M和N不行吗?干嘛还要加一