A-A+

请补充函数proc 其功能是:计算并输出给定10个数的方差。 例如 给定的l0个数为12.0

2022-08-06 02:03:24 问答库 阅读 174 次

问题详情

请补充函数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<stdio.h>
include<math.h>
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("nn");
s—proc(str);
printf("s=%fnn",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)”。


考点:方差,函数