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

已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat把这两个文

题目

已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按从小大的顺序进行排序,最后调用输出函数writeDat把结果C输出到文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置的数必须符合一个是偶数,另一个是奇数,则数组a中的数按二进制数左移八位后再加上数组b对应位置上的数,把这样组成的新数依次存入数组C中。

参考答案
正确答案:
【审题关键句】数组相同下标位置上的奇数和偶数,二进制数左移八位,对应数组元素相加,保存到新数组,从小到大排序。
【解题思路】
①定义循环变量i、i和无符号整型变量v。
②在for循环语句中,循环变量i从0开始,依次递增直到其值等于MAX。在循环体中,用if语句判断如果a[i]是奇数且b[i]是偶数或者a[i]是偶数且b[i]是奇数,则把a[i]左移八位后与b[i]的和赋给c[cnt],同时cnt加1。
③在第一层for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于cnt。在第二层for循环语句中,循环变量j从i十1开始,依次递增直到其值等于或大于cnt。在循环体中,用if,吾句判断如果c[i]大于c[j],则两者互换,实现数组C中元素从小到大的排序。
【参考答案】