问答题

请补充函数fun(),该函数的功能是:输出一个N×N矩阵,N由键盘输入,矩阵元素的值为随机数,并计算出该矩阵四周边元素的平均值,结果由函数返回。例如:当N=4时:


注章:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序;
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N 20
double fun(int a[ ][N],int n)

int i,j;
int k;
double s=0.0;
double aver=0.0;
printf("*****The array*****\n");
for(i=0;i<n;i++)

for(j=0;j<n;j++)

a[i][j]=rand()%10;
printf("%4d",a[i][j]);
if( 【1】 )
s+=a[i][j];

printf("\n");

k= 【2】
aver= 【3】
return aver;
main()

int a[N][N];
int n;
double s;
Clrscr();
printf("*****Input the dimension of array N*****\n");
scanf("%d",&n);
s=fun(a,n);
printf("***** THE RESULT *****\n");
printf("The average is %2,3f\n",s);

【参考答案】

[1] i==0||i==n-1||j==0||j==n-1
[2] 4*n-4
[3] s/k

热门 试题

填空题
下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <conio.h> #include <string.h> #include <stdio.h> #include <alloc.h> #define N 10 typedef struct SS char num[10]; int s; STU; STU *fun(STU a[],int m) STU b[N],*t; int i, j,k; *************found************* *t=calloc(m,sizeof(STU)); for(i=0;i<N;i++) b[i]=a[i]; for(k=0;k<m;k++) *************found************* for (i=j=0;i<N;j++) if(b[i].s<b[j],s) j=i; *************found************* t[k].s=b[j].s; b[j].s=100; return t; outresult(STU a[],FILE *pf) int i; for(i=0;i<N;i++) fprintf(pf, NO=%S Mark=%d n , a[i].num,a[i].S); fprintf(pf, n n ); main() STU a[N]= A01 ,77, A02 ,85, A03 ,96, A04 ,65, A05 ,75, A06 ,96, A07 ,76, A08 ,63, A09 ,69, A10 ,78; STU *pOrder; int i,m; clrscr(); printf( *****THE RESULT***** n ); outresult(a,stdout); printf( nGive the number of the students who have lower score: ); scanf( %d ,&m); while(m>10) printf( nGive the number of the students who have lower score: ); scanf( %d ,&m); pOrder=fun(a,m); printf( *****THE RESULT***** n ); printf( The low: n ); for(i=0;i<m;i++) printf( %s %d n ,porder[i].num, porder[i].s); free(porder);