#include <stdio.h>
#include <string.h>
int main()
{
char*s[1000],p[]="end";
do
{
gets(s);
}while(strcmp(s,p)!=0);
return 0;
}
请采纳。
追问是按字典顺序排列,无论输入什么,只要输入end,就会停止循环的..我表示,您的这个我运行的是输入结果倒序排列,直接结束= =
追答你没说清楚啊,之前并没说排序输出的事。
#include <stdio.h>
#include <string.h>
int main()
{
char a[1000][1000],p[]="end",tmp[1000];
int i,j,n,min;
i=0;
do
{
gets(a[i]);
}while(strcmp(a[i++],p)!=0);
n = i-1;
for(i=0;i<n;i++)
{
min = i;
for(j=i+1;j<n;j++)
{
if(strcmp(a[min],a[j])>0)
{
min = j;
}
}
if(min != i)
{
strcpy(tmp,a[min]);
strcpy(a[min],a[i]);
strcpy(a[i],tmp);
}
}
putchar('\n');
for(i=0;i<n;i++)
puts(a[i]);
return 0;
}
本回答被网友采纳