【计算机类职业资格】三级网络技术机试-174及答案解析.doc

上传人:progressking105 文档编号:1321878 上传时间:2019-10-17 格式:DOC 页数:4 大小:29KB
下载 相关 举报
【计算机类职业资格】三级网络技术机试-174及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】三级网络技术机试-174及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】三级网络技术机试-174及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】三级网络技术机试-174及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、三级网络技术机试-174 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:将一个正整数序列 K1,K 2,K 9重新排列成一个新的序列。新序列中,比 K1小的数都在 K1的前面(左面),比 K1大的数都在 K1的后面(右面)。要求编制函数 jsValue()实现此功能,最后调用函数 writeDat()将新序列输出到文件 out.dat 中。说明:在程序中已给出了 10 个序列,每个序列中有 9 个正整数,并被存入数组 a109中,请分别求出这 10 个新序列。例如:序列 6,8,9,1,2,5,4,7,3)经重排后成为

2、3,4,5,2,1,6,8,9,7。注意:部分源程序已经给出。请勿改动主函数 main()和写函数 writeDat()的内容。试题源程序#includestdio.hvoid jsValue(int a109)main()int a109= 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,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,

3、9,4,6,;int i,j;jsValue(a);for(i=0;i10;i+)for(j=0; j9;j+)printf(“%d“,aij);if(j=7)printf(“,“);printf(“/n“);writeDat(a);writeDat(int a109)FILE *fp;int i,j;fp=fopen(“out.dat“,“w“);for(i=0;i10;i+)for(j=0;j9;j+)printf(:%d“,aij);fprintf(fp,“%d“,aij);if(j=7) fprintf(fp,“,“);printf(“/n“);fprintf(fp,“/n“);fcl

4、ose(fp);(分数:100.00)_三级网络技术机试-174 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:将一个正整数序列 K1,K 2,K 9重新排列成一个新的序列。新序列中,比 K1小的数都在 K1的前面(左面),比 K1大的数都在 K1的后面(右面)。要求编制函数 jsValue()实现此功能,最后调用函数 writeDat()将新序列输出到文件 out.dat 中。说明:在程序中已给出了 10 个序列,每个序列中有 9 个正整数,并被存入数组 a109中,请分别求出这 10 个新序列。例如:序列 6,8,9,

5、1,2,5,4,7,3)经重排后成为 3,4,5,2,1,6,8,9,7。注意:部分源程序已经给出。请勿改动主函数 main()和写函数 writeDat()的内容。试题源程序#includestdio.hvoid jsValue(int a109)main()int a109= 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,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

6、,2,6,4,7,1,3,2,5,8,9,4,6,;int i,j;jsValue(a);for(i=0;i10;i+)for(j=0; j9;j+)printf(“%d“,aij);if(j=7)printf(“,“);printf(“/n“);writeDat(a);writeDat(int a109)FILE *fp;int i,j;fp=fopen(“out.dat“,“w“);for(i=0;i10;i+)for(j=0;j9;j+)printf(:%d“,aij);fprintf(fp,“%d“,aij);if(j=7) fprintf(fp,“,“);printf(“/n“);f

7、printf(fp,“/n“);fclose(fp);(分数:100.00)_正确答案:(void jsValue(int a109)int value,i,j,k,num;for(i=0;i10;i+)value=ai0;for(j=0;j9;j+)if(aijvalue)num=aij;for(k=j;k0;k-)num=aij;for(k=j;k0;k-) aik=aik-1;ai0=num;)解析:解析本题主要考查的是按条件查询和排序问题。根据题目要求,用 for 循环遍历每一行,对某行 ai来说,使用临时变量 value 存储该行的第一个元素,用第二层 for 循环把该行后面的每个元素 aij们与临时变量 value 进行比较,如果临时变量 value 的值大则再用一个双重 for 循环把 aij前面的元素往右移。临时变量 num 用来存放比临时变量 value 小的那个值,最后把这个值插在行 ai的最前面。实际上,外层的两重 for 循环是为了遍历数组的每个元素,而内层的两重 for 循环是为了寻找比第一个值小的数,并且做出相应的位置调整。

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

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

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