1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- // 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);
- }
|