#include <stdio.h>
#include <string.h>
int main()
{
char s[5][100],t[100];
int i,j;
for(i=0;i<5;i++)
gets(s[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
if(strcmp(s[j],s[j+1]) > 0)
{
strcpy(t,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],t);
}
}
for(i=0;i<5;i++)
printf("%s\n",s[i]);
}
修改如下,供参考:
#include <stdio.h>
#include <string.h>
int main()
{
char s[5][100],*pt[5],*t; //修改
int i,j;
for(i=0;i<5;i++){
gets(s[i]);
pt[i] = s[i]; //修改
}
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
if(strcmp(pt[j],pt[j+1]) > 0)
{
t =pt[j]; //strcpy(t,s[j]); //修改
pt[j]=pt[j+1]; //strcpy(s[j],s[j+1]);//修改
pt[j+1]=t; //strcpy(s[j+1],t); //修改
}
}
for(i=0;i<5;i++)
printf("%s\n",pt[i]); // printf("%s\n",s[i]);//修改
return 0;
}