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("%",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)”。