第19课 编程题真题
程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。
例如:a 数组中的值为
|0 1 2 7 9|
|1 9 7 4 5|
a = |2 3 8 3 1|
|4 5 6 8 2|
|5 9 1 4 1|
则返回主程序后s的值应为: 3.375。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <stdlib.h>
#define N 5
double fun ( int w[][N] )
{
int i,j,t=N-1;double k=0.0,s;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
if((i=0)||(i=t))
k=k+w[i][j];
else if((j=0)||(j=t))
k=k+w[i][j];
}
s=k/((N*N)-(N-2)*(N-2));
return s;
}
main ( )
{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i, j;void NONO ();
double s ;
printf("***** The array *****\n");
for ( i =0; i<N; i++ )
{ for ( j =0; j<N; j++ )
{ printf( "%4d", a[i][j] ); }
printf("\n");
}
s = fun ( a );
printf ("***** THE RESULT *****\n");
printf( "The sum is : %lf\n",s );
NONO( );
}