1、计算机三级数据库技术(上机操作)机试模拟试卷 24及答案与解析 一、程序设计题 1 已知数据文件 in dat中存有 200个四位数,并已调用读函数 readDat()把这些数存人数组 fl中。请编写函数 jsVal(),其功能是:把个位数字和千位数字重新组成一个新的含有两位数字的数 (新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的千位数字 ),以及把百位数字和十位数字组成另一个新的含有两位数字的数 (新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字 ),如果两个新组成的数均是偶数并 且至少有一个数能被 9整除同时两个新数的十位数字均不为零。则将满足此条件
2、的四位数按从大到小的顺序存入数组 b中,并计算满足上述条件的四位数的个数 ent。最后 main()函数调用写函数writeDat()把结果 cnt以及数组 b中符合条件的四位数输出到 out dat文件中。 【试题程序】 #include #define MAX 200 int aMAX, bMAX, cnt=0; void jsVaI() void readDat() int i; FILE*fp; fp=fopen(“in dat”, “r”): for(i=0; iMAX; i+) fscanf(fp, “ d” ai); fclose(fp); writeDat() FILE*fp;
3、 mt1; fp=fopen(“out dat”, “W”); fprintf(fp, “ d n”, cnt); for(i=0;icntli+) fprintf(fp, “ d n”, bEi); fclose(fp); void main() int i; readDat(); jsVal(); printf(”满足条件的数 = d n” cnt); for(i=0licnt; i+) printf(” d”, bi); printf(” n”); writeDat(); 计算机三级数据库技术(上机操作)机试模拟试卷 24答案与解析 一、程序设计题 1 【正确答案】 void jsVal() int i, j; *定义变量 * int al, 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=a1*10+a4; *数位重组 * cd=a3*10+a2; if(ab 2=0icnt一 1;i+) *选择法排序 * for(j=i+1 ijent;j+) if(bibj) temp=b|; bi=bj; bj=tempi