早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

函数Rdata实现从文件in.dat中读取一篇英文文章,存入到字符串数组string中,请编写函数CharRight,

题目

函数Rdata实现从文件in.dat中读取一篇英文文章,存入到字符串数组string中,请编写函数CharRight,其函数的功能是:以行为单位把字符串中的最后一个字符的ASCII值右移4位后加倒数第二个字符的ASCII值,得到最后一个新的字符,倒数第二个字符的ASCII值右移4位后加倒数第三个字符的ASCII值,得到倒数第二个新的字符,依此类推,一直处理到第二个字符,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理的字符串仍按行重新存入字符串数组string中,最后调用函数Wdata,把结果string输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。注意:部分源程序已经给出。 请勿改动主函数main、读函数Rdata和写函数Wdata的内容。

参考答案
正确答案:
【审题关键句】以行为单位,新字符串中每个字符的ASCII码值等于该位置上的原字符ASCII码值的二进制右移4位后加其前一个字符的ASCII码值。
【解题思路】
①定义整型循环变量i、j和表示字符串长度的整型变量str1,以及字符局部变量ch。
②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,在循环体中,利用库函数stflen求得字符串string[i]的长度,把此值赋给变量strl。把字符串string[i]的最后一个字符string[i][str1-1]赋给字符变量ch,暂时保存起来。在第二层for循环中,循环变量j从str1-1开始,依次递减直到其值小于或等于0,在循环体中,字符string[i][j]的ASCII码值右移4位,然后再与字符string[i][j-1]的ASCII码值相加的和保存到字符string[i][j]中。当退出第二层for循环后,把第i行的第一个字符string[i][0]与最后一个字符ch的值相加,保存在string[i][0]中。
【参考答案】