键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。 #include<stdio.h> void main() {  int i,j,len;  char s[81],t;  gets(s);  puts(s);  len=strlen(s);   for(i=O;i<len-l;i++)    for(j=i+1;j<len;______) /*第一空*/     if(______)/*第二空*/     {      t=s[i]      s[i]=s[j];      ______; /*第三空*/     }   puts(s); }

题目类型: 问答题

题目内容

键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。 #include void main() {  int i,j,len;  char s[81],t;  gets(s);  puts(s);  len=strlen(s);   for(i=O;i

正确答案

j++ s[j]

题目解析

外层循环执行len-l次,共进行len-l趟排序,内层循环负责参与每趟排序的元素,每一趟会比前一趟少一个元素,第一空填j++。每一趟排序过程中,如果发现元素s[j]比s[i]小,则s[j]与s[i]交换,一趟排序结束s[i]中的值是本趟参与排序的所有元素中最小的元素,经过len-l趟排序,完成对各元素升序排序,所以第二空填s[j]

题目纠错