气泡排序就足够了。将10个字符转换为ascii码后,对大小进行排序。
您可以采取麻将或扑克模拟的过程。例如,你手中的牌是1、2、3、4、5。现在你需要颠倒顺序。在第一步,你把1放在最右边变成23451。在第二步中,将2放在5和1之间,变成34521。注意,如果你假装看不到1,你就等于把第一张牌放在2,3,4,5的末尾。同样地,第三步是把3在345的末尾变成453,然后它后面的21变成45321。最后一步是54321。您的代码与上述过程相同。当卡为12345时,ampsptr[1]代表2345,因此reverse(&sptr[1])putchar(sptr[0])将1放在2345之后,然后在2345上执行下一个操作。对于2345和ampsptr[1]表示345。把2放在后面继续操作。
修改完成:
#include
#include
main()]{char*str[5],strl[5][80]//定义一个字符指针数组,指向多个字符串
char*temp
inti,j
for(i=0,i
{gets(strl[i])//从键盘接收多个字符串
str[i]=strl[i]//使指针数组中的字符串指针指向输入字符串
}
for(i=0,i
for(j=i,1,j
{if(strcmp(str[i],str[j])>0)
{temp=str[i
]str[i]=str[j
]str[j]=temp
}
}
for(i=0i
printf(“n%sn”,str[i])