#include <stdio.h>
#include <string.h>
#define SIZE 80 //限制字符串的长度
#define LIM 20 //可读入的最多行数
char *s_gets(char *st,int size);
void ststr(char *strings[],int num);
int main()
{
char *ptstr[LIM]; //内涵指针变量的数组
int ct=0; //输入的行数计数
char input[LIM][SIZE]; //存储输入的数组
while(s_gets(input[ct],SIZE)!=NULL&&ct<LIM&&input[ct][0]!='\0')
{
ptstr[ct]=input[ct]; //指针指向字符串
ct++;
}
ststr(ptstr,ct); //字符串的排序
for(int i=0;i<ct;i++) //输出指针排序之后的字符串
puts(ptstr[i]);
return 0;
}
char *s_gets(char *st,int size)
{
char *ret_val;
int i=0;
ret_val=fgets(st,size,stdin);
if(ret_val)
{
while(st[i]!='\n'&&st[i]!='\0')
i++;
if(st[i]=='\n')
st[i]='\0';
else
while(getchar()!='\n')
continue;
}
return ret_val;
}
void ststr(char *strings[],int num)
{
char *teme;
for(int i=0;i<num-1;i++)
{
for(int j=i+1;j<num;j++)
{
if(strcmp(strings[i],strings[j])>0)
{
teme=strings[j];
strings[j]=strings[i];
strings[i]=teme;
}
}
}
}
12-20
1979
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-23