#include"stdio.h"
#include"string.h"
int main()
{
int n,j,i,j1,k;
char a[100][100],t[100];
while(scanf("%s",a[n])!=EOF)
{
n++;
}
for(i=0;i<n-1;i++)
{
for(j1=i+1;j1<n;j1++)
{
if(strcmp(a[i],a[j1])>0)
{
strcpy(t,a[i]);
strcpy(a[i],a[j1]);
strcpy(a[j1],t);
}
}
}
for(i=0;i<n;i++)
{
printf("%s\n",a[i]);
}
return 0;
}
代码里n 没有初始化值,修改如下,供参考:
#include <stdio.h>
#include <string.h>
int main()
{
int n = 0, j, i;
char a[100][100], t[100];
while (gets(a[n]) != NULL) //ctrl+Z 结束输入
{
n++;
}
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (strcmp(a[i], a[j]) > 0)
{
strcpy(t, a[i]);
strcpy(a[i], a[j]);
strcpy(a[j], t);
}
}
}
for (i = 0; i < n; i++)
{
printf("%s\n", a[i]);
}
return 0;
}