ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:28.50KB ,
资源ID:1320736      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1320736.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】三级信息管理技术机试-265及答案解析.doc)为本站会员(progressking105)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、三级信息管理技术机试-265 及答案解析(总分:100.00,做题时间:90 分钟)1.函数 ReadDat()的功能是实现从文件 IN67.DAT 中读取一篇英文文章并存入到字符串数组 xx 中。请编制函数 StrOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组 xx 中,最后调用函数 WriteDat()把结果xx 输出到文件 OUT67.DAT 中。注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格。请勿改动主函数 main()、读函数 Rea

2、dDat()和写函数 WriteDat()的内容。试题程序#include stdio.h#include string.h#include stdlib.h#include memory.h#include ctype.hchar xx5080;int maxline = 0;/* 文章的总行数 * /int ReadDat(void);void WriteDat(void);void StrOL(void)void main()system(“CLS“);if (ReadDat ()printf(“数据文件 IN67.DAT 不能打开! /n/007“);return;StrOL();Wr

3、iteDat();int ReadDat(void)FILE * fp;int i = 0;char * p;if(fp = fopen(“IN67.DAT“, “r“) = = NULL) return 1;while( fgets (xx i, 80, fp) ! = NULL)p = strchr(xx i,/n);if(p) *p = 0;i + +;maxline = i;fclose(fp);return 0;void WriteDat(void)FILE * fp;int i;system(“CLS“);fp = fopen(“OUT67.DAT“, “w“);for(i = 0

4、; i maxline; i + +)printf(“% s /n“, xxi);fprintf(fp, “% s /n“, xxifclose(fp) ;(分数:100.00)_三级信息管理技术机试-265 答案解析(总分:100.00,做题时间:90 分钟)1.函数 ReadDat()的功能是实现从文件 IN67.DAT 中读取一篇英文文章并存入到字符串数组 xx 中。请编制函数 StrOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组 xx 中,最后调用函数 WriteDat()把结果xx 输

5、出到文件 OUT67.DAT 中。注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格。请勿改动主函数 main()、读函数 ReadDat()和写函数 WriteDat()的内容。试题程序#include stdio.h#include string.h#include stdlib.h#include memory.h#include ctype.hchar xx5080;int maxline = 0;/* 文章的总行数 * /int ReadDat(void);void WriteDat(void);void StrOL(void)void

6、 main()system(“CLS“);if (ReadDat ()printf(“数据文件 IN67.DAT 不能打开! /n/007“);return;StrOL();WriteDat();int ReadDat(void)FILE * fp;int i = 0;char * p;if(fp = fopen(“IN67.DAT“, “r“) = = NULL) return 1;while( fgets (xx i, 80, fp) ! = NULL)p = strchr(xx i,/n);if(p) *p = 0;i + +;maxline = i;fclose(fp);return

7、0;void WriteDat(void)FILE * fp;int i;system(“CLS“);fp = fopen(“OUT67.DAT“, “w“);for(i = 0; i maxline; i + +)printf(“% s /n“, xxi);fprintf(fp, “% s /n“, xxifclose(fp) ;(分数:100.00)_正确答案:(void StrOL(void)int i,j,k; /*定义数组下标变量*/char t80,t180; /*定义数组暂存取得的单词*/for(i=0;imaxline;i + + /*逐行获取字符串数据*/j=k=strlen

8、(xxi)-i; /*将每行末尾字符的下标保存在 j 和 k 中*/t0 =t10 =/0; /*初始化两个字符数组*/while(1) /*无条件循环,循环体内有结束循环的语句*/while(isalpha(xxij = =Owhile(isalpha(xxij) /*当退出这个循环时,xxij+1和 xxik分别是同一个单词的第一个和最后一个字母*/memcpy(t1, /*将该单词保存到字符数组 t1 中*/t1k-j =/0; /*为 t1 中的单词添加字符串结束标志*/strcat(t,t1); /*将单词保存到数组 t 中*/strcat(t,“ “); /*单词之间用空格分隔*/if(j0) /*如果以 j 为下标的字符不在数组 xx 中*/break; /*则退出外层 while 循环*/strcpy(xxi,t); /*按行将处理完的字符串重新保存到数组 xx 中*/)解析:本题的主要算法是先让两字符指针都指向每一行字符的串尾,然后使其中一指针(p1)往前移动,当出现 p1 指向的不是字母时,则表示在 p1+1 与 p2 之间是一个单词,将该单词存人字符数组 t1 中,最后将t1 连接到新串 t 中;接着再往前找第二个单词,依次类推直到 p1 越过字符串的起始位置。再将处理完的字符串重新存储到数组 xx 中,然后进入下一行的处理过程。

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