问答题 函数ReadDat()实现从IN.DAT文件中读取1000个十进制整数到数组xx中。请编写函数Compute()分别计算出xx中奇数的个数odd,偶数的个数even,以及所有数的平均值aver和方差totfc的值,最后调用函数WriteDat(),把结果输出到OUT.DAT文件中。
计算方差的公式如下:
【正确答案】void Compute(void)
{
int i;
for(i=0;i<1000;i++) /*循环以遍历数组xx的所有1000个数*/
{
if(xx[i]%2)
odd++; /*如果当前数为奇数,则让计数值odd增1*/
else
even++; /*否则让计数值even增1*/
aver=aver+xx[i]; /*将当前数累加到aver中*/
}
aver/=MAX; /*计算所有数的平均值*/
for(i=0;i<1000;i++) /*循环以求所有数的方差*/
totfc+=(xx[i]-aver)*(xx[i]-aver)/MAX;
}
【答案解析】