函数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]中。
【参考答案】

编写函数fun,函数的功能是:求一分数序列 2/1,3/2,5/3,8/5,13/8,21/13… 其他 2020-05-13 …
甲,乙两人轮流在黑板上写下不超过10到自然数,规定禁止在黑板上写已写过到数的约数,最后不能写的人为 数学 2020-05-15 …
分段函数不用分段函数形式怎么表示?给我个流程图,叫我写函数,是个简单的条件结构,函数就是个分段函数 数学 2020-05-17 …
C语言生成随机数放到数组中把这个功能弄成一个子函数这个子函数怎么写 其他 2020-05-17 …
函数Rdata实现从文件in.dat中读取一篇英文文章,存入到字符串数组string中,请编写函数C 计算机类考试 2020-05-23 …
函数ReadDat()实现从文件IN.dat中读取1000个十进制整数到数组xx中;请编写函数 Co 计算机类考试 2020-05-24 …
要求实现如下功能:(1)定义函数Rand1000(),随机生成1000个均不相同的正整数,并写入到文 其他 2020-11-17 …
几个简单的matlab程序编写~~求帮助·(1)编写函数编写一函数求输入两个正整数m和n,求其最大公 其他 2020-12-08 …
功能:编写函数fun求1!+2!+3!+……+n!的和,在main函数中由键盘输入n值,并输出运算结 其他 2020-12-08 …
c语言:在main函数中,定义一个含N个元素的数组,其中N是符号常量,然后编写下列各子函数完成相应的 其他 2020-12-24 …