函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数CharConvA,其函
函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数CharConvA,其函数的功能是:以该文章中的行为单位把字符串中的最后一个字符的ASCII值右移4位二进制位,高位补0后加倒数第二个字符的 ASCII值,得到最后一个新的值,倒数第二个字符的ASCII值右移4位二进制位,高位补0后加倒数第三个字符的ASCII值,得到倒数第二个新的值,以此类推一直处理到第二个字符。注意:第一个新的值与上述处理不同,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的值。得到的新值分别存放在原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组中XX最后Xmain函数调用函数WriteDat把结果XX输出到文件out.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按字符处理。 注意:部分源程序存放在test.g文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。
【审题关键句】字符的ASCII值右移4位二进制位,高位补0后加其前一个字符的ASCII值,依次向前直到第二个字符,第一个字符则是原第一个字符的ASCII值加最后一个字符的ASCII值。
【解题思路】
定义循环变量i、j和字符变量tmp。
在for循环语句中,循环变量i从0开始,依次递增直到其值等于文章最大行数maxline。在循环体中,首先把第i行字符串的最后一个字符赋给字符tmp,通过表达式“strlen(xx[i])一1”可以得到第i行最后一个字符的数组下标值;然后再继续通过一个for循环从文章第i行字符串的最后一个字符开始,每循环一次循环变量减1,字符xx[i][j]的ASCII码的二制位右移4位与其前一个字符xx[i][j-1]的ASCII码之和赋给字符)XX[i][j],直到第i行字符串的第二个字符为结束;最后,将第i行字符串的最后一个字符的ASCII码值与第i行字符串的第一个字符的ASCII码值之和赋给第一个字符。
【参考答案】

已知球O的球面有四点S,A,B,C,其中O,A,B,C,四点共面,△ABC是边长为2的已知球O的球 数学 2020-04-26 …
向量a=(sino,coso)与向量b=(根号3,1),其中o∈(0,π/2).(1)若向量a与向 数学 2020-05-17 …
椭圆a的平方分之X的平方+b的平方分之Y的平方=1(a>b>0)与直线X+Y=1交于P,Q两点,且 数学 2020-06-03 …
[2014·江门模拟]如图,矩形O′A′B′C′是水平放置的一个平面图形的直观图,其中O′A′=6 数学 2020-06-19 …
2.下列吾知中加点词的意义和用法相同的一项是()A.其文理皆有可观者其真无马邪B.或以钱币乞之以刀 语文 2020-07-02 …
如图所示,质量为m、电荷量为q的带电小球A用绝缘细线悬挂于O点,带有电荷量也为q的小球B固定在O点 物理 2020-07-08 …
已知以点C(t,2/t)),(t>0)为圆心的圆与与X轴交与O,A,与Y轴交与点O,B其中O为坐标 数学 2020-08-02 …
设n阶方阵A,B满足AB=O,其中O为零矩阵,则必有A.A=O或B=OB.︳A︳=0或︳B︳=0C. 数学 2020-11-02 …
最低价英文缩写o.n.o是什么单词的缩写?最近看到租房广告的常用英文缩写,其中,o.n.o是最低价的 英语 2021-02-01 …
最低价英文缩写o.n.o是什么单词的缩写?最近看到租房广告的常用英文缩写,其中,o.n.o是最低价的 其他 2021-02-01 …