代码一:
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main()
{
int n,i;
cin>>n;
string s[n];
for(i=0;i<n;i++)
cin>>s[i];
set <string> m;
for(i=0;i<n;i++)
m.insert(s[i]);
set <string> ::iterator it;
for(it=m.begin();it!=m.end();it++)
cout<<*it<<" ";
return 0;
}
代码二:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,i;
string str[27];
cin>>n;
for(i=0; i<n; i++) cin>>str[i];
sort(str,str+n);
for(i=0; i<n; i++) cout<<str[i]<<" ";
return 0;
}
刘汝佳老师的代码:
#include<cstdio>
#include<algorithm>
#include<cstring>
int n;
char word[2000][10];
using namespace std;
int cmp_char(const void*_a,const void *_b)
{
char *a=(char *)_a;
char *b=(char *)_b;
return *a-*b;
}
int cmp_string(const void *_a,const void *_b)
{
char*a=(char *)_a;
char*b=(char *)_b;
return strcmp(a,b);
}
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%s",word[i]);
for(int i=0;i<n;i++)
qsort(word[i],strlen(word[i]),sizeof(char),cmp_char);///给每个字符进行字典序排序
qsort(word,n,sizeof(word[0]),cmp_string);///给所有的字符串排序
for(int i=0;i<n;i++)///输出所有的字符串
printf("%s\n",word[i]);
return 0;
}