#include #include #include // A-Z 65 90 // a-z 97 122 void upper(char *c) { if (*c >= 97 && *c <= 122) { *c -= 32; } } void lower(char *c) { if (*c >= 65 && *c <= 90) { *c += 32; } } // 交换字符串 void swap_str(char *a, char *b) { char tmp[255] = {0}; strcpy(tmp, a); strcpy(a, b); strcpy(b, tmp); } //排序 void ordered(int n, char **l) { for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { if (strcmp(l[i], l[j]) > 0)swap_str(l[i], l[j]); } } } int main() { int n, k; scanf("%d", &n); char **s; s = (char **) malloc(n * sizeof(char *)); for (int i = 0; i < n; ++i) { s[i] = (char *) malloc(255 * sizeof(char)); scanf("%s", s[i]); k = 0; upper(&s[i][0]); while (s[i][k])lower(&s[i][++k]); } ordered(n, s); for (int i = 0; i < n; ++i) { printf("%s\n", s[i]); } for (int i = 0; i < n; ++i) { free(s[i]); } free(s); }