请补充函数proc(),其功能是:计算并输出给定10个数的方差。 例如,给定的10个数为12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为s=8.877500。 注意:部分源程序给出如下。 请勿改动main()函

admin2012-07-18  23

问题 请补充函数proc(),其功能是:计算并输出给定10个数的方差。
例如,给定的10个数为12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为s=8.877500。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填人所编写的若干表达式或语句。
试题程序:
#include
#include
double proc(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++)
    【1】;
  avg=sum/10;
  for(i=0;i<10;i++)
    【2】 ;
  sd=【3】;
  return sd;
}
void main()
{
  double s,str[10]={12.0,9.0,26.0,5.0,6.0,31.0,
  9.0,3.0,8.0,18.0};
  int i;
  printf(”\nThe original data is:\n”);
  for(i=0;i<10;i++)
  printf(”%6.If”,str);
  printf(”\n\n”);
  s=proc(str);
  printf(”s=%fkn\n”,s);
}

选项

答案【1】sum+=x【i】【2】abs+=(x[i];一avg)*(x[i]一avg)【3】sqrt(abs/10)

解析 由函数proc()可知,变量sum中存放n个数的和,因此,【1】处填“sum+=x”;然后求其平方差,因此,【2】处填“abs+=(x-avg)*(x-avg)”;最后求10个数的方差,因此,【3】处填“sqrt(abs/10)”。
转载请注明原文地址:https://jikaoti.com/ti/9ikiFFFM
0

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