请补充函数fun,其功能是:计算并输出给定10个数的方差: 例如,给定的10个数为15.0,19.0,16.0,15.0,18.0,12.0, 15.0,11.0,10.0,16.0,输出为s=2.758623。 注意:部分源程序给出如

admin2010-05-05  21

问题 请补充函数fun,其功能是:计算并输出给定10个数的方差:
   
   例如,给定的10个数为15.0,19.0,16.0,15.0,18.0,12.0, 15.0,11.0,10.0,16.0,输出为s=2.758623。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
       #include<stdio.h>
       #include<math. h>
       double fun (double x[10])
       {
         int i;
         double avg=0.0;
         double sum=0.0;
         double abs=0.0;
         double sd;
         for (i=0; i<10; i++)
           【  】;
         avg=sum/10;
         for(i=0;i<10;i++)
           【  】;
         sd=【  】;
         return sd;
       }

       main()
       {
         double s,x[10]={15.0,19.0,16.0,15.0,
              18.0,12.0,15.0,11.0,10.0,16.0};
         int i;
         printf("\nThe original data is :\n");
         for(i=0;i<10;i++)
             printf("%6.1f",x);
         printf("\n\n");
         s=fun(x);
         printf("s=%f\n\n",s);
       }

选项

答案sum+=x[i] abs+=(x[i]-avg)*(x[i]-avg) sqrt(abs/10)

解析 第一空:根据求方差的公式可知,首先要求出10个数的平均值,此处是利用for循环对10个数求累加和。第二空:使用for循环求出每个数与平均值之差的平方和。第三空:通过开方,求出10个数的方差,此处需要注意对库函数sqrt()的调用。
转载请注明原文地址:https://kaotiyun.com/show/KHID777K
0

相关试题推荐
最新回复(0)