填空题

请补充函数fun(),该函数的功能是:计算N×N维矩阵元素的方差,结果由函数返回。维数N在主函数中输入。例如:
注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h> #define N 20 double fun( 【1】 ,int n) { int i,j; int k; double s=0.0; double f=0.0; double aver=0.0; double sd=0.0; for(i=0;i<n;i++) for(j=0;j<n;j++) s+=a[i][j]; aver= 【2】 ; for(i=0;i<n;i++) for(j=0;i<n;j++) f+=(a[i][j]-aver)*(a[i][j]-aver); f/=(n*n); sd= 【3】 ; return sd; } main() { int a[N][N]; int n; int i,j; double s; clrscr(); printf("***+Input the dimension of array N*****\n"); scanf("%d",&n); printf("***** The array *****\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) { a[i][j]=rand()%50; while(a[i][j]=0) a[i][j]=rand()%60; printf("%4d",a[i][j]); } printf("\n\n"); } s=fun(a,n); printf("******* THE RESULT *******\n"); printf("%4.3f\n",s); }

【参考答案】

【1】int a[][N] 【2】s/(n*n) 【3】sqrt(f)