将二维数组每列元素的平均值放在一维数组b中
```(平均数出错,找不到原因)QAQ
#include"stdio.h"
#define M 3
#define N 4
void fun(int a[][N],float b[N])
{
int i,j;
float agv;
for(i=0;i<M;i++)
{
agv=0;
for(j=0;j<N;j++)
agv=agv+a[j][i];
b[i]=agv/M;
}
}
void main()
{
int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12},i,j;
float b[N];
fun(a,b);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%4d ",a[i][j]);
printf("\n");
}
for(j=0;j<N;j++)
printf("%.2f",b[j]);
getchar();
}


将二维数组每列元素的平均值放在一维数组b中
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- ShowMeAI 2022-12-15 22:29关注
对应的问题和修正后的代码如下,望采纳,有问题可以再沟通
代码中你在计算平均数时除以了 M,但你应该除以 N。
void fun(int a[][N],float b[N]) { int i,j; float agv; for(i=0;i<M;i++) { agv=0; for(j=0;j<N;j++) agv=agv+a[j][i]; b[i]=agv/N; // 应该除以 N } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用