请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函 数中赋予?

例如:二维数组中的值为

1 3 5 7 9

2 9 9 9 4

6 9 9 9 8

1 3 5 7 0

则函数值为61。

在int fun ( int a[M][N] ){}中填入编写程序。

#include <stdio.h>

#define M 4

#define N 5

int fun ( int a[M][N] )

{

}

main( )

{ 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;void NONO ();

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 = fun ( aa );

printf( "\nThe sum: %d\n" , y );

printf("\n");

NONO( );

getchar();

}

void NONO ()

{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,

输出数据,关闭文件。 */

int i, j, y, k, aa[M][N] ;

FILE *rf, *wf ;

rf = fopen("..\\..\\in.dat","r") ;

wf = fopen("..\\..\\out.dat","w") ;

for(k = 0 ; k < 10 ; k++) {

for(i = 0 ; i < M ; i++)

for(j = 0 ; j < N ; j++) fscanf(rf, "%d", &aa[i][j]) ;

y = fun ( aa );

fprintf(wf, "%d\n", y) ;

}

fclose(rf) ;

fclose(wf) ;

}

第1个回答  2020-07-05
int fun(int a[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 += a[i][j];
}
return sum;
}追问

运行不起

本回答被网友采纳
相似回答