请编写函数proc(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
例如,若二维数组中的值为:
0 1 2 3 4
5 9 7 4 5
4 3 8 3 6
3 5 6 8 7
则函数值为59。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#define M 4
#define N 5
int proc(int a[M][N])
void main()
int aa[M]EN]=0, 1, 2, 3, 4, 5, 9, 7.4, 5,
4, 3, 8, 3, 6, (3, 5, 6.8, 7;
int i, j, y;
system("CLS");
printf("The original data is: \n");
for(i=0; i<M; i++)
for(j=0; j<N; j++)
printf("%6d", aa[i][j]);
printf("\n");
y=proc(aa);
printf("\nThc sun: %d\n", y);
printf("\n");
参考答案:
int proc(int a[M][N])
{
int i, j, sum=0;
for(i=O; i<M; i++) //i是行下标变量
for(j=0; j<N; j++) //j是列下标变量
if(i==O||i==M-A||j==0||j==N-A) //if是判断是否为周边元素,即行或列下标为0,或为N-A
sum=sum+a[i][j]; //把是周边元素求和
return sum; //最后把所得到的和返回到主函数中
}
解析:
要求二维数组周边元素之和,首先应该判断数组中的每一个元素是否是周边元素。找出所有的周边元素后求和,返回给主函数。周边元素的下标特点为行或列的下标为0,或为N-1。根据此特点,找出所有的周边元素然后求和。