问题 问答题

请编写函数fun(),其功能是:计算并输出给定10个数的方差。

其中

例如,给定的10个数为95.0,89.0,76.0,65.0,88.0, 72.0,85.0,81.0,90.0,56.0,则输出为S=11.730729。 注意;部分源程序给出如下. 请勿改动主函数mam和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<math.h> #include<stdio.h> double fun(double x[10]) { } main() { double s,x[i0]={95.0,89.0,76.0,65.0, 88.0,72.0,85.0,81.0,90.0,56.0}; int i; printf("\nThe original data is:\n"); for(i=0;i<10;i++)printf("%6.1f ",x[i]); printf("\n\n "); s=fun(x); printf("s=%f\n\n ",s); }

答案

参考答案:

解析:double fun(double x[10]) { double xl=0.0,s=0.0; int i; for(i=0;i<10;i++) xl=xl+x[i]; xl-xl/10;                        /*求10个数的平均值*/ for(i=0;i<l0;i++) s=s+(x[i]-xl)*(x[i]-x1); return sqrt(s/l0);                    /*求10个数的方差*/} 又是一道算式表达题,程序中用第1个循环来完成求10个数的总和,接着再用x1=x1/10来求出平均值。

单项选择题
判断题