1、国家三级(网络技术)机试-试卷 94 及答案解析(总分:2.00,做题时间:90 分钟)一、程序设计题(总题数:1,分数:2.00)1. (分数:2.00)_国家三级(网络技术)机试-试卷 94 答案解析(总分:2.00,做题时间:90 分钟)一、程序设计题(总题数:1,分数:2.00)1. (分数:2.00)_正确答案:(正确答案: )解析:解析:定义字符局部变量 ch,整型循环变量 i、j、k 和表示字符串长度的变量 len、p。 在第一层 for 循环中,变量 i 从 0 开始,依次递增直到其值等于 20,在循环体中,首先调用库函数strlen(xxi)求得字符串 xXi的长度,把此值转
2、化成整型赋给变量 len,用 len 的值除以 2,得到字符串 xxi的长度的一半赋给变量 p;在第二层 for 循环中,变量 j 从 0 开始,依次递增直到其值等于(p-1),在循环体中执行第三层 for 循环,循环变量 k 从 j+1 开始,依次递增直到其值等于 p,对字符串 xxi左半部分的子字符串中的字符 xxij和 xxik按照 ASCII 码值的大小进行比较,如果 xxij的ASCII 码值小于 xxik的 ASCII 码值,则两者进行互换,实现对字符串 xxi左半部分的子字符串按照降序排列。然后,有 if 条件语句判断,len 对 2 的余数是否等于 1,如果等于 1,说明字符串 xxi的长度为奇数,则变量 p 加 1,因为这时字符串的中间字符不参与排序。再对字符串 xxij右半部分的字符串按升序排列。在 for 循环中,变量 j 从 p 开始,依次递增直到其值等于 len-1,在循环体中,执行 for循环中,变量 k 从 j+1 开始,依次递增直到其值等于 len,对字符 xxij和 xxik按其 ASCII 码值的大小进行比较,如果字符 xxij的 ASCII 码值大于 xxik的 ASCII 码值,则两者进行互换,实现字符串 xxi右半部分的字符串按照升序排列。