第27套试题答案及详解
【审题分析】分析题目可知,本题只要实现CharLeft()函数的功能即可。CharLeft()要实现的功能是:以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后其字符的ASCII值小于等于32或人于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符ASCII值,得到新的字符仍存入原字符串对应的位置上。因此解答本题的关键在于如何实现字符问的转换,以及ASCII值的左移运算。
【解题思路】在for循环语句中当自变量i从0递增到maxline时,就完成了对一篇文章每一行的扫描。对一行的字符串数组,首先利用字符串函数strlen求出字符串数组string[i]的长度输给变量str:然后在for循环语句中当自变量i从0递增到str时,对每一个字符的ASCII码值左移4位;再判断左移4位得到的值是否大于32且小于等于100,如果条件成立,则原字符的ASCII码值与左移4位后得到的字符的ASCII码值相加,相加之和仍然存入字符串数组元素string[i][j]中。
【参考答案】
【易错分析】字符的ASCII值左移4位,用表达式string[i][j]<<4表示。
【考点链接】字符的移位运算。
责任编辑:小草