请编写函数fun,该函数的功能是:求出二维数组周边元素之和,作为函数值返回。 二维数组中的值在主函数中赋予。 例如,若二维数组中的值为: 1 3 5 7 9 2 9 9 9 4 6

admin2018-03-28  39

问题 请编写函数fun,该函数的功能是:求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
    例如,若二维数组中的值为:
  1    3    5    7    9
    2    9    9    9    4
    6    9    9    9    8
    1    3    5    7    0
    则函数值为61。
    注意:部分源程序在文件PROGl.C中。
    请勿改主动函数nwn和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
  试题程序:
#include < conio.h >
#include < stdio.h >
#include < stdlib .h >
#define M 4
#define N 5
int fun ( int a [M] [N] )
{

}
void main ()
{
FILE *wf;
  int aa[M] [N] = {{1,3f 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 (j =0;j <N;j ++)
            printf ("% 6d ",aa[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) ;
/******************/
}

选项

答案int fun(int a[M] [N]) { int i,j,sum=0; for(i=0;i<M;i++) for(j=0;j<N;j++) if(i==0||i==M-1||i==0||j ==N一1)/*只要下标中有一个为0或M-1或N-1,则它一定是周边元素*/ sum=sum+a[i] [j];/*将周边元素相加*/ return sum; }

解析 本题采用逐一判断的方式。二维数组周边元素的规律是,其两个下标值中一定有一个是0或M-1或N-1。程序中循环语句用来控制数组的行和列,条件语句用来判断数组元素是否为周边元素。
转载请注明原文地址:https://jikaoti.com/ti/Lna0FFFM
0

最新回复(0)