问答题
请补充fun函数,该函数的功能是:计算N×N维矩阵元素的方差,结果由函数返回。维数在主函数中输入。例如: 的计算结果是14.414。 求方差的公式为:其中 注意: 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。/**********code.c**********/#includ<stdio.h>#includ<stdlib.h>#includ<math.h>#defin20/**********found**********/doublfun(__1__,inn){  ini,j;  doubls=0.0;  doublf=0.0;  doublaver=0.0;  doublsd=0.0;  for(i=0;i<N;i++)    for(j=0;j<N;j++)      s+=a[i][j];  /**********found**********/  aver=__2__;  for(i=0;i<N;i++)    for(j=0;j<N;j++)      f+=(a[i][j]-aver)*(a[i][j]-aver);  f/=(n*n);  /**********found**********/  sd=__3__;  retursd;}voimain(){  ina[N][N];  inn;  ini,j;  doubls;  printf("*****InputhdimensiooarraN*****");  scanf("%d",&n);  printf("*****Tharray****");  for(i=0;i<N;i++)  {    for(j=0;j<N;j++)    {      a[i][j]=rand()P;      whil(a[i][j]==0)        a[i][j]=rand()`;      printf("M",a[i][j]);    }    printf("");  }  s=fun(a,n);  printf("*****THRESULT****")  printf("%4.3",s);}/**********-code.c**********/
【正确答案】无
【答案解析】(1) int a[][N](2) s/(n*n)
(3) sqrt(f)
根据题目中的方差公式,先要计算矩阵元素的平均值,再求矩阵元素与平均值差的平方的平均值,最后调用库函数求方差。 填空1:根据函数中各变量的使用情况及实参的类型,这里应该是对二维数组a的定义,因为二维数组做形参,可以省略第一维的长度,但不能省略第二维的长度,所以此处应填int a[][N]。
填空2:这里求矩阵元素的平均值,注意元素的个数应该是n*n。
填空3:此处应该调用库函数sqrt( )求平方根。