1. #include <stdio.h>
    2. #include<stdlib.h>
    3. #include<math.h>
    4. #include<string.h>
    5. #include<stdbool.h>
    6. void Exchange(char* str[], int n) {
    7. char* temp;
    8. int i, j, k;
    9. for (i = 0; i < n - 1; i++) {
    10. k = i;
    11. for (j = i + 1; j < n; j++)
    12. if (strcmp(str[k], str[j]) > 0) k = j; //
    13. if (k != i) { // 交换的是指针
    14. temp = str[i];
    15. str[i] = str[k];
    16. str[k] = temp;
    17. }
    18. }
    19. }
    20. int main() {
    21. int i;
    22. int n;
    23. scanf("%d", &n);
    24. char* str[100];
    25. char str_tmp[100][100] = { 0 };
    26. for (i = 0; i < n; i++) {
    27. scanf("%s", str_tmp[i]); // 读字符串
    28. str[i] = str_tmp[i]; // 指针指向字符串
    29. }
    30. Exchange(str,n);
    31. for (i = 0; i < n; i++) {
    32. printf("%s\n", str[i]);
    33. }
    34. return 0;
    35. }

    为字符串 排序