填空题   请补充函数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<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++)
    ______;
    avg=sum/10;
    for(i=0; i<10; i++)
    ______;
    sd=______;
    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.1f', str[i]);
    printf('\n\n');
    s=proc(str);
    printf('s=%f\n\n', s);
    }
 
【正确答案】
【答案解析】由函数proc()可知,变量sum中存放n个数的和,因此,第一处填“sum+=x[i]”;然后求其平方差,因此,第二处填“abs+=(x[i]-avg)*(x[i]-avg)”;最后求10个数的方差,因此,第三处填“sqrt(abs/10)”。