#include<stdio.h>
float matrixAvg(int m,int n,double a[100][100])
{
int i,j;
double average;
double sum=0.0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
sum+=a[i][j];
average=sum/(m*n)*1.0;
return average;
}
int main()
{
int M,N;
scanf("%d%d",&M,&N);
double aver,a[M][N];
int i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%lf",&a[i][j]);
aver=matrixAvg(M,N,a);
printf("%.2f\n",aver);
return 0;
}
/能不能帮我看看我的代码错在哪里呢?该怎么修改呢?谢谢您/
设计一个函数,该函数用于求一个任意大小的二维double型数组的平均值.该函数名叫matrixAvg,输入:第一行输入整数M和N 从第二行开始,输入M行,每行输入N个double型的数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
qzjhjxj 2021-12-18 10:38关注供参考:
#include<stdio.h> #define K 100 //修改 定义常量 K=100 double matrixAvg(int m,int n,double a[][K]) //修改 { int i,j; double average=0.0; double sum=0.0; for(i=0;i<m;i++) for(j=0;j<n;j++) sum+=a[i][j]; average = sum/(m*n)*1.0; return average; } int main() { int M,N,i,j; double aver,a[K][K];//修改,数组定义是常量 scanf("%d%d",&M,&N); for(i=0;i<M;i++) for(j=0;j<N;j++) scanf("%lf",&a[i][j]); aver=matrixAvg(M,N,a); printf("%.2f\n",aver); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 6无用 1