#include<stdio.h>
#include<string.h>
int main ()
{
char s[100][50],t[50];
int n,i,j,k;
scanf("%d\n",&n);
for(i=0;i<n;i++)
gets(s[i]);
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(s[j],s[k])<0)k=j;
strcpy(t,s[i]); strcpy(s[i],s[k]); strcpy(s[k],t);
}
printf("======\n");
for(i=0;i<n;i++)
puts(s[i]);
return 0;
}?
伪代码:
1。输入n
2。输入n个字符串到s数组
3。i=0
4。扫描第i个以后的所有字符串,找到最小字符串的序号
5。将第i个字符串与找到的最小字符串交换,然后i加1。
6。如i<n,转4。
7。输出n个字符串。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。