早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

己知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一

题目

己知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:如果四位数各位上的数字均为0或2或4或6或8中的一个数字,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。 注意:部分源程序存在test.c文件中。 程序中已定义数组:a[200],b[200],已定义变量:cnt 请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。

参考答案
正确答案:
【审题关键句】各位都是偶数,从大到小排序。
【解题思路】
①首先,本题要定义多个变量,包括两个循环变量循环i、j;用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、sw(十位)和gw(个位);一个用于数据交换的整型变量ab。
②通过for循环依次对数组中的每个四位数进行分解,得到每位上的数字,然后通过if条件语句判断每位数是否都为偶数,注意,每个表达式之问的关系为与运算,即需要同时满足这4个表达式的数才符合条件。
③将满足条件的四位数赋给数组b[cnt],同时数组下标值加1,当for循环执行完毕后,则所有满足条件的四位数全部存放到数组b[cnt]中。
④最后通过两个for循环,对数组b[cnt]的元素按从大到小的顺序排序,排序过程中,变量ab作为数据交换的中间变量。
【参考答案】