所属年份:2011.3;2011.9
请编写函数fun,该函数的功能是:求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
例如,若二维数组中的值为:
1 3 5 7 9
2 9 9 9 4
6 9 9 9 8
1 3 5 7 0
则函数值为61。
#include
#include
#include
#define M 4
#define N 5
int fun( int a [M][N])
{
}
int main()
{
FILE *wf;
int aa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};
int i, j, y;
system("CLS");
printf ("The original data is :\n ");
for(i=0; i
{for (j=0; j
printf("%6d ",aa[i][j]);
printf("\n ");
}
y=fun(aa);
printf("\nThe sun: %d\n ",y);
printf("\n ");
/******************************/
wf=fopen("out.dat","w");
fprintf (wf,"%d",y);
fclose(wf);
/*****************************/
return 0;
}
【解题思路】
本题采用逐一判断的方式,周边元素的规律是,其下标值中一定有一个是0或M-1或N-1。程序中循环语句用来控制数组的行和列,条件语句用来判断数组元素是否为周边元素。
【参考答案】
int fun( int a [M][N])
{
int i,j,sum=0;
for(i=0;i
for(j=0;j
if(i==0||i==M-1||j==0||j==N-1) /*只要下标中有一个为0或M-1或N-1,则它一定是周边元素*/
sum=sum+a[i][j]; /*将周边元素相加*/
return sum;
}