1、三级数据库技术-506 及答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.函数 ReadDat()实现从文件 in.dat中读取 1000个十进制整数到数组 xx中;请编制函数 compute()分别计算出 xx中数值为奇数的个数 odd,偶数的个数 even,平均值 aver以及方差 totfc的值,最后调用函数WriteDat()把结果输出到 out.dat文件中。 计算方差的公式如下: (分数:100.00)_三级数据库技术-506 答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.0
2、0)1.函数 ReadDat()实现从文件 in.dat中读取 1000个十进制整数到数组 xx中;请编制函数 compute()分别计算出 xx中数值为奇数的个数 odd,偶数的个数 even,平均值 aver以及方差 totfc的值,最后调用函数WriteDat()把结果输出到 out.dat文件中。 计算方差的公式如下: (分数:100.00)_正确答案:()解析:/*循环变量 i从 0开始,每次增加 1,计算奇数的个数 odd,偶数的个数 even,所有数组元素的和aver*/ int i; for(i=0; iMAX; i+) if(xxi%2) /如果 xxi是奇数 odd+; /
3、odd加 1 else /否则, xxi是偶数 even+; /even加 1 aver+=xxi; /把所有数组的元素 xxi累加到变量 aver aver/=1000.0;/变量 aver除以 1000.0得到所有数组元素的算术平均值 /*根据计算方差的公式,计算所有数组元素的方差+/ for(i=0;iMAX;i+) totfc+=(xxi-aver)*(xxi-aver);/把(xxi-aver)的平方累加到变量 totfc totfc/=1000.0; /变量 totfc除以 1000.0得到所有数组元素的方差 解析 读取 1000个数,奇数个数、偶数个数、平均值及方差。 相对来说更简单一些,通过审题可以发现本题有两个不同点:求所有数的平均值,此时只需要将数组中所有元素的值累加到变量 aver中,最后除以 1000(因为数组中有 1000个元素)即可得到平均值,参考答案的第 8条和第 10条语句。求所有数的方差,可先利用 for循环将(xxi-aver)的平方累加到变量totfc,然后再除以 1000即可得到所有数的方差,参考答案的第 1113 条语句。