c语言编程从键盘输入一个M×N的二维数组,求该数组中最外圈的平均值

不知道怎么从键入M和N的值

#include<stdio.h>

int main()

{

int m, n;

int sum=0;

scanf("%d%d",&m,&n);

int a[m][n]; 

for(int i=0;i<m;i++){

for(int j=0;j<n;j++){

scanf("%d",&a[i][j]);

if(i==0 ||j==0||j==n-1||i==n-1){

sum+=a[i][j];//最外圈元素累加 

}

}

}

sum=sum/(2*(m+n-2));

printf("最外圈的平均值:%d",sum); 

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-10
在C语言程序中,使用scanf函数,就可以读入m和n的值。
scanf("%d%d",&m,&n);
如果连读入m和n的值都不知道,那距离完成整个题目的距离,就不是一丁点了。老师讲课的时候,应该要花一点时间和精力的。做一个好好的“读书的小儿郞”吧。追问

比如我要三行,四列,int a[M][N]; scanf("%d%d",&M,&N); 这个是错误的哇,方括号中的数组长度只能为常量表达式不能为变量。。。单纯的键入我肯定知道哇

追答

那是你上面的问题描述不清楚啊。
要以这种方式应用的话,也应该是

scanf("%d%d",&M,&N); int a[M][N]; scanf("%d%d",&M,&N);
这样的才对啊。
不过,在有的编译器中支持这样的定义方式,有的则不支持。在不支持的情况下,就只对根据问题的最大需求来定义。否则就要换一种方法,动态申请内存空间了。

相似回答