问答题 函数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; }
【答案解析】