第18套试题答案及详解
【审题分析】分析题目可知,本题只要实现CharRight()函数的功能即可。CharRight()函数要实现的功能是:按“将字符的ASCII值右移4位并加上该字符前面的一个字符的ASCII值等到新的字符,然后存在原位”的替代关系,将字符串数组string中的字符全部替换。因此解答本题的关键在于读取字符串数组中的字符,然后转换成ASCII码值,最后进行替换运算。
【解题思路】这里我们通过for循环语句来实现读取字符串数组中的所有字符。当自变量i从0递增到maxline时,就完成了对一篇文章每一行的扫描。对一行的字符串数组,首先利用字符串函数strlen求出字符串数组string[i]的长度输给变量str1,把字符串中的最后一个字符赋给ch;然后在for循环语句中当自变量J从str1-1递减到0时,对每一个字符的ASCII值右移4位,右移4位的字符与其前一个字符相加,两者的和仍然存入字符串数组元素string[i][j]中:最后替换第一个字符时将其ASCII值与ch相加,得到第一个新的字符。
【参考答案】
【易错分析】字符的ASCII值右移4位,用表达式string[il[j]>>=4表示。
【考点链接】字符的移位运算。
责任编辑:小草