改错题

给定程序MODI1.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是先对字符串中的头两个元素进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序,再把第四个字符插入到前三个字符中……。待排序的字符串已在主函数中赋予。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序如下。

【正确答案】

(1)n=strlen(aa);
(2)ch=aa[i];    

【答案解析】

插入排序算法:先对字符串中的前两个元素进行排序,然后第三个元素插入到前两个元素中,三个元素依然有序,依此类推,完成排序。
(1)此处考查strlen函数的格式,应改为strlen(aa)。
(2)程序中并没有定义变量c,该语句的作用是将元素a[i]的值赋给中间变量ch,以与其他元素进行比较并交换,所以应改为ch=a[i]。