C语言程序设计作答 难度系数大

在主函数中输入10个等长的字符串。自定义一个函数对这10个字符串进行升序排序,在主函数中调用此函数并输出排序好的字符串。【设计要求】( 1 )用二维数组作为自定义函数函数的数据类型;( 2 )使用冒泡排序对字符进行升序排序;( 3 )在主函数中输入10个等长的字符串,存储在一个二维数组中,以这个二维数组的数组名作为实参进行地址传递调用自定义函数:( 4 )在主函数中输出排序后的结果。

示例程序如下:

#include <stdio.h>
#include <string.h>

void bubbleSort(char arr[][100], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (strcmp(arr[j], arr[j + 1]) > 0) {
                char temp[100];
                strcpy(temp, arr[j]);
                strcpy(arr[j], arr[j + 1]);
                strcpy(arr[j + 1], temp);
            }
        }
    }
}

int main() {
    char strings[10][100];
    printf("输入10个等长的字符串:\n");

    for (int i = 0; i < 10; i++) {
        scanf("%s", strings[i]);
    }

    bubbleSort(strings, 10);

    printf("排序后的字符串:\n");
    for (int i = 0; i < 10; i++) {
        printf("%s\n", strings[i]);
    }

    return 0;
}