【计算机类职业资格】三级信息管理技术机试-262及答案解析.doc

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

1、三级信息管理技术机试-262 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.在文件 in71.dat 中有 200 组数据,每组有 3 个数,每个数均为 3 位数。函数 readDat()的功能是读取这 200 组数据并存放到结构数组 aa 中。请编制函数 jsSort(),其函数的功能是:要求在 200 组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,其中满足条件的个数作为函数 jsSort()的返回值,同时把满足条件的数据存入结构数组 bb 中,再对 bb 中的数按照每组数据的第一个数加第三个数之和的大小进行升序排列

2、(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组 bb中。最后调用函数 writeDat()把结果 bb 输出到文件 out71.dat 中。注意:部分源程序已给出。请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。试题程序:#include stdio.h#include string.h#include stdlib.htypedef structint x1,x2,x3;Data;Data aa200,bb200;void readDat();void writeDat();int jsSort()void main()int

3、 count;readDat();count=jsSort();writeDat(count);void readDat()FILE * in;int i;in=fopen(“IN71.dat“,“r“);for(i=0;i200;i + +)fscanf(in,“% d % d % d“,&aai.x1,&aai.x2,&aai.x3);fclose(in);void writeDat(int count)FILE * out;int i;system(“CLS“);out=fopen(“OUT71.dat“,“w“);for(i=0;icount;i + +)printf(“% d,% d

4、,% d 第一个数+第三个数=% d/n“,bbi.x1,bbi.x2,bbi.x3,bbi.x1+bbi.x3);fprintf(out,“% d,% 5d,% d/n“,bbi.x1,bbi.x2,bbi.x3);fclose(out);(分数:100.00)_三级信息管理技术机试-262 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.在文件 in71.dat 中有 200 组数据,每组有 3 个数,每个数均为 3 位数。函数 readDat()的功能是读取这 200 组数据并存放到结构数组 aa 中。请编制函数 jsSort(),其函

5、数的功能是:要求在 200 组数据中找出条件为每组数据中的第一个数大于第二个数加第三个数之和,其中满足条件的个数作为函数 jsSort()的返回值,同时把满足条件的数据存入结构数组 bb 中,再对 bb 中的数按照每组数据的第一个数加第三个数之和的大小进行升序排列(第一个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组 bb中。最后调用函数 writeDat()把结果 bb 输出到文件 out71.dat 中。注意:部分源程序已给出。请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。试题程序:#include stdio.h#include

6、 string.h#include stdlib.htypedef structint x1,x2,x3;Data;Data aa200,bb200;void readDat();void writeDat();int jsSort()void main()int count;readDat();count=jsSort();writeDat(count);void readDat()FILE * in;int i;in=fopen(“IN71.dat“,“r“);for(i=0;i200;i + +)fscanf(in,“% d % d % d“,&aai.x1,&aai.x2,&aai.x

7、3);fclose(in);void writeDat(int count)FILE * out;int i;system(“CLS“);out=fopen(“OUT71.dat“,“w“);for(i=0;icount;i + +)printf(“% d,% d,% d 第一个数+第三个数=% d/n“,bbi.x1,bbi.x2,bbi.x3,bbi.x1+bbi.x3);fprintf(out,“% d,% 5d,% d/n“,bbi.x1,bbi.x2,bbi.x3);fclose(out);(分数:100.00)_正确答案:(int jsSort()int i,j; /*定义循环控制

8、变量*/int cnt=0; /*定义计数器变量,并对其初始化*/Data temp; /*数据交换时的暂存变量,这里是一个 Data 类型的结构体变量*/for(i=0;i200;i + +)if(aai.x1aai.x2+aai.x3) /*如果每组数据中的第一个数大于第二个数加第三个数之和*/bbcnt =aai; /*把满足条件的数据存入结构体数组 bb 中*/cnt + +; /*同时统计满足条件的数据的个数*/for(i=0;icnt-1;i + +) /*对数组 bb 中的数据按照每组数据的第一个数加第三个数之和的大小进行升序排列*/for(j=i+1;jcnt;j + +)if(bbi.x1+bbi.x3bbj.x1+bbj.x3temp=bbi;bbi=bbj;bbj=temp;teturn cnt; /*返回满足条件的数据的组数*/)解析:解析 本题考查对结构体数组中元素的各个成员的操作。首先利用一个 for 循环来依次取得结构体数组中的各个元素,然后按照题目要求对当前元素的各个域进行条件判断,如果条件(第一个数大于第二个数加第三个数之和)成立,则将其存放到数组 bb 中。再按照“每组数据中的第二个数加第三个数之和的大小”进行从小到大的排序。

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

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

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