设计一个函数,该函数用于求一个任意大小的二维double型数组的平均值。

/* 题目描述
设计一个函数,该函数用于求一个任意大小的二维double型数组的平均值。
该函数的名字叫做matrixAvg
请使用下面的main函数测试你设计的函数
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;
}
输入描述
第一行输入整数M和N
从第二行开始,输入M行,每行输入N个double型的数
输出数组的平均值 /
#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++)
{
scanf("%lf",&a[i][j]);
sum+=a[i][j];
}
average=sum/(m
n);
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;
}
/请问一下我这个程序该怎么改呢?能否顺便说一下我原先坐在那里吗?/

你求平均值的函数里为什么会出现scanf啊

数组在定义的时候即开辟内存,所以数组不能想多大就输入变量调整大小。
也就是说数组 double a[m][n],中,m和b不能是变量,必须是一个确定的值。

谢谢回答