三级信息管理技术机试-268.doc

上传人:scccc 文档编号:13193033 上传时间:2021-12-18 格式:DOC 页数:2 大小:24KB
返回 下载 相关 举报
三级信息管理技术机试-268.doc_第1页
第1页 / 共2页
三级信息管理技术机试-268.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

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

1、三级信息管理技术机试 -268( 总分: 100.00 ,做题时间: 90 分钟 )、上机题( 总题数: 1,分数: 100.00)1.函数ReadDat()的功能是实现从文件IN62.DAT中读取一篇英文文章,并存入到字符串数组XX中;请编制函数 StrCharJP() ,该函数的功能是:以行为单位把字符串中的所有字符的 ASCII 值右移 4位,然后把 右移后的字符的ASQ值再加上原字符的ASQ值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数 WriteDat()把结果xx输出到文件OUT62.DAT中。注意:部分源程序已给出。 原

2、始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格。请勿改动主函数 main() 、读函数 ReadDat() 和写函数 WfiteDat() 的内容。 试题程序 #include < stdio.h >#include < string.h > #include < stdlib.h > char XX5080;int maxline=0 ;*文章的总行数 * int ReadDat(void) ; void WriteDat(void) ; void StrCharJR(void)void main()system("CL

3、S") ; if(ReadDat()printf(" 数据文件 IN62.DAT 不能打开 !/n/007");return ;StrCharJR() ;WriteDat() ;int ReadDat(void)FILE*fp ;int i=0;char*P ; if(fp=fopen("IN62.DAT" , "r")=NULL)return 1;while(fgetS(xxi , 80, fp)!=NULL)P=strchr(XXi , '/n');if(P)*P=0;i+ :maxline=i ; fc

4、lose(fp) ; return 0 ;void WriteDat(void)FILE*fp ;int i ; system("CLS") ; fp=fopen("OUT62.DAT" ,"W") ;for(i=0 ; i < maxline ; i+)printf("%S/n",xxi);fprintf(fp , "%s/n" ,xxi) ;fclose(fp) ;分数: 100.00 ) 正确答案: (void strcharJR(void)int i ,j ;*定义循环控制变量 *

5、 int str : *存储字符串的长度 *for(i=0 ; i < maxline ; i+) *以行为单位获取字符 * str=strlen(xxi) ;*求得当前行的字符串长度 * for(j=0 ; j < str ; j+)xxij+=xxij>> 0;/*字符的Ascn值右移4位再加上原字符的 ASQ值,得到新字符*/)解析: 解析 本题考查对二维字符数组元素的操作。 首先可以利用双重循环按照先行后列的顺序逐个取得数组中的字符,外层循环用来控制行数,内层循环用 来依次取得各行中的每一个字符。之后对当前所取得的字符进行右移 4位的运算 (这里用到了“>>”右移运算符 ),最后把移后得到的字符 累加到原字符中去,这样原来字符就可以被新的字符所覆盖。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1