1、计算机三级数据库技术(上机操作)机试模拟试卷 87及答案与解析 一、程序设计题 1 已知数据文件 in dat中存有 200个四位数,并已调用读函数 readDat()把这些数存入数组 a中,请编写函数 jsVal(),其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数 ab(新数的十位数字是原四位数的千位数字。新数的个位数字是原四位数的十位数字 ),把个位数字和百位数字组成另一个新的含有两位数字的数 cd(新十位数的十位数字是原四位数的个位数字。新十位数的个位数字是原四位数的百位数字 )如果新组成的两个数 ab #define MAX 200 int a-MAX, bMAX, c
2、nt=0; void writeDat(); void jsVal() void readDat() int i; FILE*fP; fp=fopen(“in dat”, “r”); for(i=0; iMAX; i+) fscanf(fp, “ d”, Lai); felose(fp); void main() int i; readDat(); jsVal(); printf(“满足条件的数 = d n”, cnt); for(i=0; ient; i+) printf(“ d”, bi); printf(“ n”); writeDat() void writeDat() FILE*fp;
3、 int i; fp=fopen(“out dat”, “w”); fprintf(fp,“ d n”, cnt); for(i=0;icnt, i+) fprintf(fp,” d n” bi); fclose(fp); 计算机三级数据库技术(上机操作)机试模拟试卷 87答案与解析 一、程序设计题 1 【正确答案】 void jsVal() int i, j; *定义变量 * int a1, a2, a3, a4; int ab, cd; int temp; for(i=0; iMAX;i+) a1=ai 10; *数位分解 * a2=ai 100 10; a3=ai 1000 100; a4=ai 1000; ab=a4*10+a2; *数位重组 * ed=a1*10+a3; if(abcd ab9, 62=1 8Lab 5!= ca 2=0 a4!=08L al!=0) *判断条件 * bcnt+=ai; for(i=0; icnt一 1;i+) *选择法排序 * for(j=i+1 1jent;j+) if(bibj) temp=bi; bi=bj; bj=temp;