[计算机类试卷]国家三级(网络技术)机试模拟试卷223及答案与解析.doc

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

1、国家三级(网络技术)机试模拟试卷 223及答案与解析 一、程序设计题 1 请编制一个函数 arrangeValue(int inBuf109),其功能是;将一正整数序列K1, K2, , K9)重新排成一个新的序列。新序列中,比 K1小的数都在 K1的左面 (后续的再向左存放 ),比 K1大的数都在 K1的右面 (后续的再向右存放 ),从 K1向右扫描。函数 WriteData()负责将 outBuf中的数据输出到文件 OUT DAT中。说明;在程序中已给出了 10个序列,每个序列中有 9个正整数,并存人数组inBuf109中,分别求出这 10个新序列。 例如;序列排序前 3, 5, 8, 9

2、, 1, 2, 6, 4, 7) 序列排序后 2, l, 3, 5, 8, 9, 6, 4, 7) 注意;部分源程序已给出。 请勿改动主函数 main()和写函数 WriteData()的内容。 试题程序; #include void WriteData(); int inBuf109= 6, 8, 9, 1, 2, 5, 4, 7, 3), 3, 5, 8, 9, 1, 2, 6, 4, 7), 8, 2, 1, 9, 3, 5, 4, 6, 7), 3, 5, 1, 2, 9, 8, 6, 7, 4), 4, 7, 8, 9, 1, 2, 5, 3, 6), 4, 7, 3, 5, 1,

3、2, 6, 8, 9, 9, 1, 3, 5, 8, 6, 2, 4, 7), 2, 6, 1, 9, 8, 3, 5, 7, 4), 5, 3, 7, 9, 1, 8, 2, 6, 4), 7, 1, 3, 2, 5, 8, 9, 4, 6), ; void arrangeValue() void main() int i, j; arrangeValue(); for(i=0; i=0; j-) 从最后一列向前扫描 if(inBufijinBufi0)如果当前数据比首位数据大 tempnum_high=inBufij; 将当前数据放到 temp中的第 hum_high位 num_high;

4、 将存放比首位数据大的数据的下标前移,以指定下次存放的位置 else tempnum_low=inBufij; 将当前数据放到 temp中的第 num_low位 num_low+; 将存放比首位数据小的数据的下标后移,以指定下次存放的位置 tempnum_high=inBufi0; 将最后留下的位置上存放原数组的首位数据 for(j=0; j9; j+) inBufij=tempj; 将 temp中的内容复制到 inBuf中 【试题解析】 本题主要考查数组中数据按指定要求重新排序的方法。从左边开始扫描时,不管是比第一个大的还是小的,都 以第一个元素所在的位置来定起始位置,由于第一个元素的位置不确定,所以比第一个元素大的和小的元素的起始存放位置也不能确定。若从右侧开始扫描,则比第一个元素大的和小的元素的起始存放位置是数组的两侧,起始位置固定。程序步骤; 1从右侧开始查找,如果当前元素比第一个元素大,则从数组 temp 的右侧起存放,反之,则从数组 temp 的左侧起存放。最后将第一个元素存放在剩下的位置。 2将 temp 中的值赋给数组inBuf。

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

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

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