#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;
}
/能不能帮我看看我的代码错在哪里呢?该怎么修改呢?谢谢您/
供参考:
#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;
}