计算二维数组周边元素之和 C语言

时间:2025-03-18 09:21:00

题目:请编写函数fun,函数的功能是求出二维数组a周边元素之和,作为函数值返回。

    例如:若二维数组如下:

        1 3 5 7 9

        2 9 9 9 4

        6 9 9 9 8

        1 3 5 7 0

    则函数返回值为61。

    在主函数中赋予二维数组(大小为M*N,由符号常量确定)值,调用fun函数进行计算,并输出计算结果。

    要求自行设计fun函数,在主函数中,输入、输出时,应显示适当提示信息。

#define M 4
#define N 5
int fun(int (*b)[5]) {
	//int b[M][N];
	int sum=0;
	for (int i = 0;i<M; i++) {
		for (int j = 0;j<N; j++) {
			if (i == 0 || i==M-1||j==0||j==N-1) {
				sum += b[i][j];
				continue;
			}
		}
	}
	printf("%d",sum);
	return sum;
}
int main() {
	int a[M][N];
	/*= {1,3,5,7,9,
		2, 9, 9, 9, 4,
		6, 9, 9, 9, 8,
		1, 3, 5, 7, 0
	};*/
	int temp;
	for (int i = 0;i<M; i++) {
		for (int j = 0; j < N; j++) {
			printf("row %d,column %d\n",i,j);
			scanf("%d", &(a[i][j]));
		}
	}
	fun(a);
	return 0;
}