题目描述
按字母表中字母顺序排列字符串序列。最前面的字母有最高优先级,最后面的字母有最低优先级。若字符串S1是S2的前缀,则S1比S2小,即S1排在S2前面。
输入
第一行1个整数n(n < = 20),表示有n个字符串序列。以下n行,每行一个字符串(由大写字母组成,长度不超过10)。
输出
共n行,按字母递增顺序排列的字符串序列,每行一个字符串。
样例输入
5
PKU
BUAA
PKM
NUAA
PKUU
样例输出
BUAA
NUAA
PKM
PKU
PKUU
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x;
cin>>x;
char a[21][11];
for(int i=0;i<x;i++)
{
scanf("%s",&a[i]);
}
for(int i=0;i<x;i++)
{
for (int j=i+1;j<x;j++)
if(strcmp(a[i],a[j])>0)
{
swap(a[i],a[j]);
}
}
for(int i=0;i<x;i++)
{
printf("%s\n",a[i]);
}
}