已知在in.dat中存有若干个(个数<200)四位十进制数字组成的正整数,函数ReadDat读取这若干个正
已知在in.dat中存有若干个(个数<200)四位十进制数字组成的正整数,函数ReadDat读取这若干个正整数并存入数组 xx中。请编制函数CalValue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求这些正整数右移1位二进制位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到out.dat文件中。 注意:部分源程序存放在test.c文件中。 请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出函数WriteDat的内容。
【审题关键句】读取正数,统计个数,右移后为偶数的个数及平均值。
【解题思路】
①定义整型变量i、j和长整型he,并把其初始值设置为0。
②用for循环语句对数组xx进行扫描,如果当前数组元素xx[i]非零,则全局变量totNum加1。
③在for循环语句中,循环变量i从0开始递增到totNum.1,对数组xX中的每个元素xx[i]右移一位,把这个值赋给整型变量j,再对j的值对2求余数,如果余数等于0,则变量totCnt加1,并把数组元素xx[i]累加到变量he。
④退出循环时,把变量he的数据类型转换成双精度型再除以变量totCnt的值,就得到算术平均值totPjz。
【参考答案】

1、将1,2,……9这9个数分成三组,(每组中数的个数不一定相等),使得第一组数的连乘积=第三组数 数学 2020-05-13 …
用汇编语言编制一程序,把二十B的数组分成正数组和负数组,并分别计算两个数组中数据的个数.希望能很快 其他 2020-05-16 …
共14个数,七组数如何选出不重复的三组数1,2,3,3,4,5,6,7,9,8,10,11,12, 数学 2020-07-10 …
有两组数,第一组9个数的和是63,第二组的平均数是11,两个组中所有数的平均数是8.问:第二组有多 其他 2020-07-17 …
组合数本来是不讲顺序的,但在均匀分组问题中,几个组合数相乘后却有了顺序,所以最后要除以一个...组 数学 2020-07-30 …
为什么这道c语言题目没有在前面定义*n=0,但也能正确得出答案函数fun,该函数的功能是:将M行N 其他 2020-08-03 …
3个自然数的乘积是18,问由这样的3个数所组成的数组有多少个?如(1,2,9)就是其中的一个,而且数 数学 2020-11-18 …
将1、2、3.49、50任意分成10组,每组5个数,每一组中,数值居中的那个数称为“居中数”,10个 数学 2020-12-11 …
将1.2.3...49.50任意分成10组,每组5个数,在每一组中,数值居中的那个数成为居中数,求这 数学 2020-12-11 …
新华小学六一班分成三个学习小组甲组人数是其他两个组人数和的1/2乙组人数是新华小学六一班分成三个学习 其他 2021-01-20 …