帮我看一下这道三级网络技术的编程题怎么做?

来源:百度知道 编辑:UC知道 时间:2024/06/28 17:06:32
已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat()把这两个文件中的数存入数组a和b中,请考生编制一个函数jsval(),实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组c中,再对数组c中的数按从小到大的顺序排序,最后调用输出函数writedat()把结果c输出到文件OUT.DAT中。
组成新数的条件:如果数组a和b中相同下标位置的数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新数的个位数字,数组b中的十位数字为新的百位数字,个位数字为新的十位数字,这样组成的新数并存入数组c中。
例如:a:12 31 24 15 21 15
b:32 45 17 27 18 15
c: 3451 1275 1155
排序后c:1155 1275 3451
程序中已定义:a[100]、b[100]和c[100]

Description:
本题说明:

这是全国计算机等级考试二00八年春季三级C新增加的一道(题库之外)上机考题。从题目类型和题目难度上分析没有太大的变化,基本上属于原题库的难度要求。如果前一百道题会做,这道题也能很快搞定。

已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat()把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal(),实现功能是依次对数组a和b中的数按条件重新组成一个新数并存入数组c中,再对数组c中的数按从小到大的顺序进行排序,最后调用输出函数writeDat()把结果c输出到文件OUT.DAT中。

组成新数的条件:如果数组a和b中相同下标位置的数均是奇数,则数组a中的十位数字为新数的千位数字,个位数字仍为千位数的个位数字,数组b中的十位数字为新的百位数字,个位数字为新的十位数字,把这样组成的新数依次存入数组c中。

例如: a: 12 31 24 15 21 15

b: 32 45 17 27 18 15

c: 3451 1275 1155

排序后 c: 1155 1275 3451

注意:部分源程序存在文件PROG1.C文件中。

程序中已定义:a[100]、b[100]和c[100]。

#include <stdio.h>

#define MAX 100

unsigned int a[MAX], b[MAX], c[MAX] ;

int cnt = 0; /* 存放符合条件数的个数 */

void writeDat();

void jsVal()

{

}

void readDat()