1、三级网络技术机试-253 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.在文件 in33.dat中有 200个正整数,且每个正整数均在 100至 9999之间。函数 readDat()的功能是读取这 200 个数并存放到数组 aa中。请编制函数 jsSort(),该函数的功能是:要求按照每个数的后 3位的大小进行升序排列,将排序后的前 10个数存入数组 bb中,如果数组比中出现后 3位相等的数,则对这些数按原始 4位数据进行降序排列。最后调用函数 writeDat()把结果比输出到文件 out33dat 中。例如:处理前 6012 509
2、9 9012 7025 8088处理后 9012 6012 7025 8088 5099注意:部分源程序已给出。请勿改动主函数 main()、读函数 readDat)和写函数 writeDat()的内容。试题程序:#include9include#includeint aa200,bb10;void readDat();void writeDat();void jsSort()void main()readDat();jsSort();writeDat();void readDat ()FILE *in;int i;in=fopen (“ in33. dat“, “r“ );for(i=0;i
3、fclose (in);void writeDat()FILE *out;int i;clrscr ();out=fopen ( “out33. dat“, “w“ );for (i=0;iprintf (“i=%d, %d/n“, i+l,bb i );fprintf (out, “%d/n“, bb i );fclose (out);(分数:100.00)_三级网络技术机试-253 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.在文件 in33.dat中有 200个正整数,且每个正整数均在 100至 9999之间。函数 readDat(
4、)的功能是读取这 200 个数并存放到数组 aa中。请编制函数 jsSort(),该函数的功能是:要求按照每个数的后 3位的大小进行升序排列,将排序后的前 10个数存入数组 bb中,如果数组比中出现后 3位相等的数,则对这些数按原始 4位数据进行降序排列。最后调用函数 writeDat()把结果比输出到文件 out33dat 中。例如:处理前 6012 5099 9012 7025 8088处理后 9012 6012 7025 8088 5099注意:部分源程序已给出。请勿改动主函数 main()、读函数 readDat)和写函数 writeDat()的内容。试题程序:#include9inc
5、lude#includeint aa200,bb10;void readDat();void writeDat();void jsSort()void main()readDat();jsSort();writeDat();void readDat ()FILE *in;int i;in=fopen (“ in33. dat“, “r“ );for(i=0;ifclose (in);void writeDat()FILE *out;int i;clrscr ();out=fopen ( “out33. dat“, “w“ );for (i=0;iprintf (“i=%d, %d/n“, i+
6、l,bb i );fprintf (out, “%d/n“, bb i );fclose (out);(分数:100.00)_正确答案:(void jsSort()int i, j, data;for (i=O; i199; i+)for (j=i+l; j200; j+)if (aa ii %1000aa j %1000) /*按照每个数的后 3位的大小进行升序排例*/data=aa i;aaii=aaj;aa j =data;elseif(aai%lOOO=aaj%1000) /*如果后 3位数值相等,则对这些数值按原始 4位数据进行降序*/ if (aa Ii aa j )data=aa
7、 Iii;aaii=aaj;aa j =data;for (i=O; ibbi=aai;)解析:解析 本题考查的知识点如下:(1)循环结构的嵌套。(2)选择结构的嵌套。(3)特殊运算符“%”的使用。(4)数据的升降序排列。在该题中,首先要解决的问题是如何把题中 4位数转换成符合要求的 3位数。这里要用到一个比较特殊的运算符%,它的功能是取余。将 4位数除以 1000取余则得到要求的 3位数。根据题意,若后 3位相等,则按照原数据进行降序排序,所以在这里要加一个选择结构进行判断。对数据进行排序,可以使用最简单的“选择排序法”。即第一次从第一个数据开始和所有后面的数据进行比较,与比它大(小)的数据交换位置,将数据中最大(小)的数交换到最前面。第二次从第二个数据开始与后面的数据进行比较,将此次比较中最 (小)的数据交换至第二个位置,直至最后一个数据。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1