#include <stdio.h>
#include <algorithm>
#include <cstring>
#include <string>using namespace std;
struct SS
{
int len;
char *tmp;
};bool cmp(SS a, SS b)
{
return a.len < b.len;
}int main()
{
int n;
while(~scanf("%d", &n))
{
char **list = (char**)malloc(sizeof(char*) * n);
for(int i = 0; i < n; i++)
list[i] = (char*)malloc(sizeof(char) * 101);
int *ans = (int *)malloc(sizeof(int) * n);
getchar(); //吃掉输入n后的回车
int k;
for(k = 0; k < n; k++)
{
gets(list[k]); //带有空格的字符串用gets()输入
if(!strcmp(list[k], "stop"))
break;
ans[k] = strlen(list[k]);
}
SS str[n];
for(int i = 0; i < k; i++)
{
str[i].tmp = list[i];
str[i].len = ans[i];
}
sort(str, str+k, cmp);
for(int i = 0; i < k; i++)
printf("%s\n", str[i].tmp);
free(list);
}
return 0;
}
OpenJ_Bailian - 2915-字符串排序
最新推荐文章于 2020-11-22 16:51:51 发布