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

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

1、三级信息管理技术机试-192 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.函数 ReadDat()的功能是实现从文件 IN7.DAT 中读取一篇英文文章并存人到字符串数组 xx 中。请编制函数 SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组 xx 中,最后调用函数 WriteDat()把结果 XX 输出到文件 OUT7.DAT 中。例如,原文:dAe,BFCCCbbAA结果:fedCBA,bbCCAA原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符

2、号和空格。注意:部分源程序已给出请勿改动主函数 main()、读函数 ReadDat()和写函数 WriteDat()的内容。试题程序#includestdio.h#includestring.h#includestdlib.hchar xx5080;int maxline=0;int ReadDat(void);void WriteDat(void);void SortCharD()void main()system(“CLS“);if(ReadDat()printf(“数据文件 IN7.DAT 不能打开! /n/007“);return;SortCharD();WriteDat();int

3、 ReadDat(void)FILE*fp;int i=0;char * P;if(fp=fopen(“IN7.DAT“,“r“)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)P=strchr(xxi,/n);if(P) *P=0;i+;maxline=i;fclose(fp);return 0;void WriteDat()FILE *fp;int i;system(“CLS“);fp=fopen(“OUT7.DAT“,“w“);for(i=0;imaxline;i+)printf(“%s/n“,xxi);fprintf(fp,“%s/n“,xxi)

4、;fclose(fp);(分数:100.00)_三级信息管理技术机试-192 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.函数 ReadDat()的功能是实现从文件 IN7.DAT 中读取一篇英文文章并存人到字符串数组 xx 中。请编制函数 SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组 xx 中,最后调用函数 WriteDat()把结果 XX 输出到文件 OUT7.DAT 中。例如,原文:dAe,BFCCCbbAA结果:fedCBA,bbCCAA原始数据文件存放的格

5、式是:每行的宽度均小于 80 个字符,含标点符号和空格。注意:部分源程序已给出请勿改动主函数 main()、读函数 ReadDat()和写函数 WriteDat()的内容。试题程序#includestdio.h#includestring.h#includestdlib.hchar xx5080;int maxline=0;int ReadDat(void);void WriteDat(void);void SortCharD()void main()system(“CLS“);if(ReadDat()printf(“数据文件 IN7.DAT 不能打开! /n/007“);return;Sor

6、tCharD();WriteDat();int ReadDat(void)FILE*fp;int i=0;char * P;if(fp=fopen(“IN7.DAT“,“r“)=NULL)return 1;while(fgets(xxi,80,fp)!=NULL)P=strchr(xxi,/n);if(P) *P=0;i+;maxline=i;fclose(fp);return 0;void WriteDat()FILE *fp;int i;system(“CLS“);fp=fopen(“OUT7.DAT“,“w“);for(i=0;imaxline;i+)printf(“%s/n“,xxi)

7、;fprintf(fp,“%s/n“,xxi);fclose(fp);(分数:100.00)_正确答案:(void SortCharD()int i,j,k; /*定义循环控制变量*/int str; /*存储字符串的长度*/char temp;; /*定义数据交换时的暂存变量*/for(i=0;imaxline;i+) /*以行为单位获取字符*/str=strlen(xxi); /*求得当前行的字符串长度*/for(j=0;jstr-1;j+) /*对字符按从大到小的顺序进行排序*/for(k=j+1;kstr;k+)if(xxijxxik)temp=xxiJ;xxjj=xxik;xxik=temp;)解析:解析 本题主要考查对数组的访问及排序问题。通过双重循环结构逐行获取字符并进行处理。首先使用字符串处理函数 strlen()来求出每一行的字符串长度,然后运用选择法逐行对字符按照从大到小的顺序进行排序。

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

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

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