已知在in.dat中存有若干个(个数<200)1四位十进制数字组成的正整数,函数ReadDat读取这若干个正

20 查阅

已知在in.dat中存有若干个(个数<200)1四位十进制数字组成的正整数,函数ReadDat读取这若干个正整数并存入数组 XX中。请编制函数CalValue0,其功能要求: 1.求出该文件中共有多少个正整数totNum; 2.求这些正整数右移1位二进制位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到out.dat文件中。 注意:部分源程序存放在test.C文件中。 请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出函数WriteDat0的内容。

参考答案:

【审题关键句】读取正数,统计个数,右移后为偶数的个数及平均值。 【解题思路】 ①定义整型变量i、j和长整型he,并把其初始值设置为0。 ②用for循环语句对数组XX进行扫描,如果当前数组元素xx[i]零,则全局变量totNum加1。 ③在for循环语句中,循环变量i从0开始递增到totNum一1,对数组xx中的每个元素XX[i]右移一位,把这个值赋给整型变量i,再对j的值对2求余数,如果余数等于0,则变量totCnt加1,并把数组元素xx[i]累加到变量he。 ④退出循环时,把变量he的数据类型转换成双精

计算机三级