#include<stdio.h> #include<cstring> #include<algorithm> using namespace std; struct string { char str[210]; }s[210]; void toLow(char c[]) { int len=strlen(c); for(int j=0;j<len;j++) { if(c[j]>='A' && c[j]<='Z') c[j]=c[j]-'A'+'a'; } } int cmp(string s1,string s2) { toLow(s1.str);//这里的变化并未影响字符串本身 toLow(s2.str); return strcmp(s1.str,s2.str)<0; } int main() { int n; while(scanf("%d",&n)!=EOF) { int i; gets(s[0].str);//多写了一次,可能是为了接收上面的回车 for(i=0;i<n;i++) gets(s[i].str); sort(s,s+n,cmp); for(i=0;i<n;i++) puts(s[i].str); } return 0; }