计算机等级 百分网手机站

2016计算机二级C语言考前模拟试题及答案

时间:2017-08-11 计算机等级 我要投稿

  1.请补充函数proc(  ),其功能是:计算并输出给定10个数的方差。

  例如,给定的l0个数为12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为S=8.877500。

  注意:部分源程序给出如下。

  请勿改动main(  )函数和其他函数中的任何内容,仅在函数proe(  )的横线上填人所编写的若干表达式或语句。

  试题程序:

  #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[i]);

  printf("\n\n");

  s—proc(str);

  printf("s=%f\n\n",s);

  )

  参考答案:

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

  【解析】由函数proc(  )可知,变量sum中存放n个数的和,因此,【1】处填"sum+=x[i]”;然后求其平方差,因此,【2】处填“abs+=(x[i]-avg)*(x[i]-avg)”;最后求l0个数的方差,因此,【3】处填"sqrt(abs/10)”。