计算机三级数据库机试模拟试题及答案解析(10)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机三级数据库机试模拟试题及答案解析(10)

(1/1)上机题

第1题

已知数据文件IN1.DAT和IN2.DAT中分别存有100个2位十进制数,并且已调用读函数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]。请勿改动数据文件IN1.DAT和IN2.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

【试题程序】

#include <stdio.h >

#define MAX 100

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

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

void jsVal ()

{

void readDat ()

{

int i ;

FILE * fp ;

fp = fopen ("IN1 .DAT", "r") ;

for(i=0 ; i<MAX ; i++)

fscanf(fp, "%d", &a[i]) ;

fclose (fp) ;

fp = fopen ("IN2 .DAT", "r") ;

for(i=0 ; i <MAX ; i ++) fscanf(fp,"%d", &bEi]) ;

fclose (fp) ;

}

void main ()

{

int i ; void writeDat () ;

for(i=0 ; i<MAX ; i++)

c[i] =0 ;

readDat () ;

jsVal () ;

相关文档
最新文档