三级信息管理技术机试-267

上传人:夏** 文档编号:487965719 上传时间:2023-11-21 格式:DOC 页数:2 大小:22KB
返回 下载 相关 举报
三级信息管理技术机试-267_第1页
第1页 / 共2页
三级信息管理技术机试-267_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《三级信息管理技术机试-267》由会员分享,可在线阅读,更多相关《三级信息管理技术机试-267(2页珍藏版)》请在金锄头文库上搜索。

1、三级信息管理技术机试 -267( 总分: 100.00 ,做题时间: 90 分钟 )、上机题( 总题数: 1,分数: 100.00)1.函数ReadDat()的功能是实现从文件IN63.DAT中读取一篇英文文章,并存入到字符串数组 XX中。请编 制函数StrCharJL(),该函数的功能是:以行为单位把字符串中的所有字符的 ASQ值左移4位,如果左移 后其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCI值再加上原字符的ASCI值,得到的新字符仍存入到原字符串对应的位置。之后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数 WfiteDat(

2、)把结果xx输出到文件OUT63.DAT中。 注意:部分源程序已给出。原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格。请勿改动主函数 main() 、读函数 ReadDat() 和写函数 WriteDat() 的内容。 试题程序 #inciude #include #include char XX5080;int maxline=0;int ReadDat(void);void WriteDat(void);void StrCharJL(void)void main()system(CLS);if(ReadDat()printf( 数据文件 IN63.DAT 不能打

3、开 /n/007);return;StrCharJL();WriteDat();int ReadDat(void)FILE*fp;int i=0;char*P;if(fP=fopen(IN63.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(void)FILE*fp;int i;system(CLS); fp=fopen(OUT63.DAT,w);for(i=0;i maxline;i+)pr

4、intf(%s/n,xxi);fprintf(fp,%s/n,xxi);fclose(fP);分数: 100.00 ) 正确答案: (void StrCharJL(void)int i,j; /*定义循环控制变量 */int str; /*用来存储每行字符串的长度*/char ch : /* 保存当前取得的字符 */for(i=0;i maxline;i+) /* 以行为单位获取字符 */str=strlen(xxi); /*求得当前行的字符串长度 */for(j=0;j str;j+)ch=xxij; /* 获取当前字符 */if(ch 4 =32 | ch 100)continue; /* 如果左移4位后字符的。ASQ值小于等于32或大于100,则原字符保持不变*/elsexxlij+;ch 4;/*否则把左移后的字符ASCI值加上原字符的ASU值*/)解析: 解析 利用双重循环按照先行后列的顺序逐个取得数组中的字符,外层循环用来控制行数,内层循环用来依次取得各行中的每一个字符。循环内部用一个if语句判断当前字符的 ASCI码左移4位后是否满足小于等于32或者大于100的条件,如果满足,则该字符保持不变,否则就把左移后的字符ASCI值加上原字符的ASCI值,作为得到的新字符存入当前位置。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号