[计算机类试卷]国家三级(数据库技术)机试模拟试卷33及答案与解析.doc

上传人:feelhesitate105 文档编号:495306 上传时间:2018-11-28 格式:DOC 页数:4 大小:27.50KB
下载 相关 举报
[计算机类试卷]国家三级(数据库技术)机试模拟试卷33及答案与解析.doc_第1页
第1页 / 共4页
[计算机类试卷]国家三级(数据库技术)机试模拟试卷33及答案与解析.doc_第2页
第2页 / 共4页
[计算机类试卷]国家三级(数据库技术)机试模拟试卷33及答案与解析.doc_第3页
第3页 / 共4页
[计算机类试卷]国家三级(数据库技术)机试模拟试卷33及答案与解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家三级(数据库技术)机试模拟试卷 33及答案与解析 一、程序设计题 1 在文件 in33.dat中有 200个正整数,且每个正整数均在 1000至 9999之间。函数readDat()的功能是读取这 200个数并存放到数组 aa中。请编制函数 jsSort(),该函数的功能是:要求按照每个数的后 3位的大小进行升序排列,将排序后的前 10个数存入数组 bb中,如果数组 bb中出现后 3位相等的数,则对这些数按原始 4位数据进行降序排列,最后调用函数 writeDat()把结果 bb输出到文件 out33.dat中。 例如:处 理前 6012 5099 9012 7025 8088 处理后 9

2、012 6012 7025 8088 5099 注意:部分源程序已给出。 请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。 试题程序: # include stdio. h # include string. h #include conio. h int aa200 ,bb10; void readDat (); void writeDat(); void jsSort() void main ( ) readDat ( ); jsSort ( ); writeDat ( ); void readDat () FILE *in; int i; i

3、n=fopen (“in33 .dat“ , “r“ ); for(i=0;i 200;i+) fscanf (in, “%d “. fclose (in); void writeDat () FILE *out; int i; clrscr ( ); out =fopen (“out33 .dar“ , “w“ ); for (i=0; i 10; i+) printf (“i=%d, %dn“, i+1, bbi ; fprintf (out, “%dn“ ,bbi ); fclose (out); 国家三级(数据库技术)机试模拟试卷 33答案与解析 一、程序设计题 1 【正确答案】 vo

4、id jsSort() int i, j, data; for(i=0; i 199; i+) for(j=i+1; j 200; j+) if(aai%1000 aaj%1000) /*按照每个数的后 3位的大小进行升序排列 * data=aai; aai=aaj; aaj=data; else if(aai%1000=aaj%1000) /*如果后 3位数值相等,则对这些数 值按原始 4位数据进行降序排列 */ if(aai aaj) data=aai; aai=aaj; aaj=data; for(i=0; i 10; i+) /*将排好序的前十个数存入数组 bb中 */ bbi=aai

5、; 【试题解析】 本题考查的知识点如下: (1)循环结构的嵌套。 (2)选择结构的嵌套。 (3)特殊运算符 “%” 的使用。 (4)数据的升降序排列。 在该题中,首先要解决的问题是如何把题中 4位数转换成符合要求的 3位数。这里要用到一个比较特殊的运算符 %,它的功能是取余。将 4位数赊以 1000取余则得到要求的 3位数。根据题意,若后 3位相等,则按照原数据进行降序排序,所以在这里要加一个选择结构进行判断。对数据进行排序,可以使用最简单的 “选择排序法 ”。即第一次从第一个数据开始和所有后面的数据进行比较,与比它大 (小 )的数据交换位置,将数据中最大 (小 )的数交换到最前面。第二次从第二个数据开始与后面的数据进行比较,将此次比较中最 (小 )的数据交换至第二个位置,直至最后一个数据。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1