Description
存储一组姓名,如Apple,Tom,Green,Jack 要求按照字典序排序并显示。
Input
输入第一行为样例数m,对于每个样例,第一行为人数n,接下来有n个姓名,n不超过10,每个名字长度不超过20。
Output
对于每个样例输出排序后的结果,每行一个姓名。
Sample Input
1
4
Apple
Tom
Green
Jack
Sample Output
Apple
Green
Jack
Tom
代码
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define MAX 30
struct people{
char name[MAX];
}p[100];
bool compare(people x,people y)
{
if(x.name[0]!=y.name[0])
return x.name[0]<y.name[0];
else
{
for(int i=1;i<20;i++)
{
return x.name[i]<y.name[i];
}
return true;
}
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",p[i].name);
}
sort(p,p+n,compare);
for(i=0;i<n;i++)
{
printf("%s\n",p[i].name);
}
}
return 0;
}