1、计算机三级数据库技术-146 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.函数 ReadDat()的功能是从文件 IN.DAT 中读取 1000 个十进制整数到数组 xx 中。请编写函数 Compute()分别计算出 xx 中偶数的个数 even、奇数的平均值 ave1、偶数的平均值 ave2 及所有偶数的方差 totfc 的值,最后调用函数 WriteDat(),把结果输出到 OUT.DAT 文件中。 计算方差的公式如下: (分数:100.00)_计算机三级数据库技术-146 答案解析(总分:100.00,做题时间:90 分钟)一、上
2、机题(总题数:1,分数:100.00)1.函数 ReadDat()的功能是从文件 IN.DAT 中读取 1000 个十进制整数到数组 xx 中。请编写函数 Compute()分别计算出 xx 中偶数的个数 even、奇数的平均值 ave1、偶数的平均值 ave2 及所有偶数的方差 totfc 的值,最后调用函数 WriteDat(),把结果输出到 OUT.DAT 文件中。 计算方差的公式如下: (分数:100.00)_正确答案:()解析:void Compute(void) int i,ttMAX; /*定义数组 tt 计算总和*/ for(i=0;i1000;i+) if(xxi%2!=0)
3、 /*判断当前数的奇偶性*/ odd+; /*统计奇数的个数*/ ave1+=xxi; /*求奇数的总和*/ else even+; /*统计偶数的个数*/ ave2+=xxi; /*求偶数的总和*/ tteven-1=xxi; /*将偶数存入数组 tt 中*/ ave1/=odd; /*求奇数的平均数*/ ave2/=even; /*求偶数的平均数*/ for(i=0;ieven;i+) /*求所有偶数的方差*/ totfc+=(tti-ave2)*(tti-ave2)/even; 解析 本题属于数学类问题,主要考查的是奇偶数的判断和方差的求法。 解本题的思路为:用循环控制取每一个数进行判断,若一个数除以 2 取余得 0,则该数是偶数,否则为奇数。分别统计奇数和偶数的个数、总和,并且保存所有满足条件的偶数。最后由方差公式可知,这是求一些连续的数的表达式的和,所以可以使用循环求得方差。