请编写函数fun(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。\n\n例如:若二维数组中的值为\n\n1 3 5 7 9\n\n2 9 9 9 4\n\n6 9 9 9 8\n\n1 3 5 7 0\n\n则函数值为61。\n\n注意:部分源程序给出如下。\n\n请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。\n\n试题程序:\n\ninclude<conio.h>\n\ninclude<stdio.h>\n\ndefine M 4\n\ndefine N 5\n\nint fun( int a [M][N])\n\n{\n\n}\n\nmain()\n\n{\n\nint aa[M][N]={{1,3,5,7,9},{2,9,9,9,4},\n\n{6,9,9,9,8},{1,3,5,7,0}};\n\nint i, j, y;\n\nclrscr();\n\nprintf (\"The original data is :\\n \");\n\nfor(i=0; i<N;i++)\n\n{for (j=0; j<N;j++)\n\nprintf(\"%6d \",aa[i][j]);\n\nprintf(\"\\n \");\n\n}\n\ny=fun(aa);\n\nprintf(\"\\nThe sun:%d\\n \",y);\n\nprintf(\"\\n\");\n\n}
时间: 2023-07-06 11:38:05 浏览: 108
函数fun的代码如下:
```c
int fun(int a[M][N])
{
int sum = 0;
int i, j;
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
if (i == 0 || i == M-1 || j == 0 || j == N-1) {
sum += a[i][j];
}
}
}
return sum;
}
```
该函数的实现方式是遍历二维数组中的每个元素,如果这个元素位于数组的周边,则将其加入到累加器sum中。最后将sum作为函数值返回。注意,周边的元素包括第一行、最后一行、第一列、最后一列以及四个角落。
阅读全文