在文件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。
【参考答案】
已知n是一个整数,d是一个数字,n/444=0.5d7,5d7循环,问n是多少?请迅速, 数学 2020-06-03 …
如果一个圆的半径为2,那么圆的周长()A.是一个有理数B.是一个无理数C.是一个整数D.是一个分数 其他 2020-06-14 …
Java编程问题描述给定一个年份y和一个整数d,问这一年的第d天是几月几日?注意闰年的2月有29天 其他 2020-07-17 …
关于英语音标t和dstudent中的第一个t读d而disturb中的t读t怎么回事?什么时候st中 英语 2020-07-26 …
下列说法正确的是;()A,a表示一个数.B.a表示一个非负数.Ca表示一个整数.D.a可以表示一个 数学 2020-07-30 …
20世纪初能够发生世界性战争,最基本的前提条件是()A.世界殖民地被瓜分完毕B.用于远程袭击的武器研 历史 2020-11-22 …
下列各种现象中,可以说明分子间存在斥力的是()A.气体容易被压缩B.固体、液体很难被压缩C.铁棒被折 物理 2020-11-30 …
下列现象中,可以说明分子间存在斥力的是A.压缩空气的压强增大B.固体、液体很难被压缩C.玻璃打破后, 其他 2020-11-30 …
从全球观点看,新航路开辟最重要的意义是()A.锤炼了欧洲人敢于冒险、勇于拼搏的精神B.推动了文化的交 历史 2020-12-01 …
下列各种现象中,可以说明分子间存在斥力的是()A.气体容易被压缩B.固体、液体很难被压缩C.铁棒被折 物理 2020-12-24 …