在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入
在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到0ut.dat文件中。 注意:部分源程序存放在test.c文件中。 请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出函数WriteDat的内容。
【审题关键句】读取正数,统计个数,各位数字之和为偶数的数的个数及平均值。
【解题思路】 定义整型循环变量i、j,表示各位数字之和的长整型变量he以及存储一个四位数的字符数组num[5]。
②循环变量i从0开始,依次递增到4,对字符数组num[5]的每个元素赋初值0。
③循环变量i从0开始,依次递增到MAXNUM.1,对每个数组元素xx[i]进行判断,如果xx[i]的值非零,则变量totNum加1,退出循环时,totNm的值就是文件in.dat中存有的四位正整数的个数。
④循环变量i从0开始,依次递增到totNum-1,对于每个数组元素xx[i]调用库函数sprintf以4个字符宽度形式输出到字符数组num中,用字符数组num中的每个元素减去0的ASCII码48,就分别得到XX[i]这个四位数每位上的数字,并把这四个数字相加赋给变量j。再对变量j对2求余数进行判断其值是否等于0,如果等于0,则说明j是偶数,变量totCnt加1,并把xx[i]的值累加到变量he。
⑤退出循环后,把变量he的类型转换成双精度型再除以totCnt得到符合条件的数的算术平均值totPjz。
【参考答案】

1.已知-[-(-a)]=2,求a的相反数.若a-2和-7互为相反数,求a的值.若x,y互为相反数 数学 2020-05-13 …
若a是不为1的有理数,我们把1/1-a称为a的倒差数...若a是不为1的有理数,我们把1/1-a称 数学 2020-05-13 …
数集A满足:若a∈A,则1/1-a∈A,(a≠0) 问(1):若5∈A,试求出A中其他所有元素.( 数学 2020-05-15 …
下列说法:①1是最小的正数②最大的负整数是-1③任何有理数的绝对值都是正数④若|a|=-a,则a是 数学 2020-05-17 …
1.从1到50这五十个数中选出若干个数,要求使任两个数互质,则所选数的总和最大是?2.若a,b均是 数学 2020-06-12 …
下列说法错误的是()A.数轴上的点与全体实数一一对应B.a、b为实数,若a小于b,则根号a小于根号 数学 2020-08-01 …
1.当x、y满足什么条件时,等式y=√[(3x+1)/(5x-2)]+√[(3x+1)/(2-5x) 数学 2020-11-03 …
1.若A表示一个负数,则|-A|一定是一个()数.2.不大于4的所有非负整数是?绝对值小于3的非负整 数学 2020-11-18 …
若a>0,则|a|=(),-a是()数,a的倒数是()数若a=0,则|a|=?它的相反数是?若a<0 数学 2020-11-18 …
判断下面命题的真假.若a是无理数,则a+5是无理数若a+5不是无理数,则a不是无理数.若a不是无理数 数学 2020-11-18 …