C语言问题:输入十个字符串,用选择法从小到大排序

#include<stdio.h>
#include<string.h>
intmain()
{
char s[10][20],t[20];
int i,j,k;
for(i=0;i<10;i++)
gets(s[i]);
for(i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;j++)
if(strcmp(s[j],s[k])<0) k=j;
if(i!=k)
{ strcpy(t,s[i]);
strcpy(s[i],s[k]);
strcpy(s[k],t);
}
}
for(i=0;i<10;i++)
puts(s[i]);
}

没有error,但是没有输出

int main()

不是

intmain()

追问

这是复制到百度知道时才这样的,还是没有输出

追答

我编译运行了一下,没问题。你是不是需要开一个dos窗口,在命令行中运行一下?或者在最后一行搞一个system("pause"); 来看看?

追问

对,我来了dos运行。随便输入了10个串,但是没有输出

追答

是这样输入的吗?
每行一个字符串,共十行。

追问

不是每行,看来是我输错了。谢谢啦

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-19
两两比较,从小到大,即是前一个大于后一个则交换,循环得到
相似回答