[*]①定义字符局部变量ch,整型循环变量i、j、k和表示字符串长度的变量len、p。 ②在第一层for循环中,变量i从0开始,依次递增直到其值等于20,在循环体中,首先调用库函数strlen(xx[i])求得字符串xX[i]的长度,把此值转化成整

admin2010-10-18  40

问题

选项

答案[*]

解析 ①定义字符局部变量ch,整型循环变量i、j、k和表示字符串长度的变量len、p。
    ②在第一层for循环中,变量i从0开始,依次递增直到其值等于20,在循环体中,首先调用库函数strlen(xx)求得字符串xX的长度,把此值转化成整型赋给变量len,用len的值除以2,得到字符串xx的长度的一半赋给变量p;在第二层for循环中,变量j从0开始,依次递增直到其值等于(p-1),在循环体中执行第三层for循环,循环变量k从j+1开始,依次递增直到其值等于p,对字符串xx左半部分的子字符串中的字符xx[j]和xx[k]按照ASCII码值的大小进行比较,如果xx[j]的ASCII码值小于xx[k]的ASCII码值,则两者进行互换,实现对字符串xx左半部分的子字符串按照降序排列。然后,有if条件语句判断,len对2的余数是否等于1,如果等于1,说明字符串xx的长度为奇数,则变量p加1,因为这时字符串的中间字符不参与排序。再对字符串xx[j]右半部分的字符串按升序排列。在for循环中,变量j从p开始,依次递增直到其值等于len-1,在循环体中,执行for循环中,变量k从j+1开始,依次递增直到其值等于len,对字符xx[j]和xx[k]按其ASCII码值的大小进行比较,如果字符xx[j]的ASCII码值大于xx[k]的ASCII码值,则两者进行互换,实现字符串xx右半部分的字符串按照升序排列。
转载请注明原文地址:https://kaotiyun.com/show/YnaZ777K
0

最新回复(0)