以下是一个使用 C 语言解决此问题的示例代码: ```c #include <stdio.h> #include <string.h> // 比较函数,用于降序排列字符串 int compare(const void *a, const void *b) { return strcmp((const char *)b, (const char *)a); } // 输入函数 void input(char s1[], char s2[], char s3[]) { printf("请输入第一个字符串:"); scanf("%s", s1); printf("请输入第二个字符串:"); scanf("%s", s2); printf("请输入第三个字符串:"); scanf("%s", s3); } // 排序函数 void sort(char *arr[], int size) { qsort(arr, size, sizeof(char *), compare); } int main() { char s1[30], s2[30], s3[30]; input(s1, s2, s3); char *strings[] = {s1, s2, s3}; sort(strings, 3); printf("排序后的字符串:\n"); printf("%s\n", strings[0]); printf("%s\n", strings[1]); printf("%s\n", strings[2]); return 0; } ``` 在上述代码中,我们首先定义了输入函数 `input` 用于获取用户输入的三个字符串。然后定义了比较函数 `compare` 用于 `qsort` 函数进行降序排序。在 `sort` 函数中使用 `qsort` 对字符串指针数组进行排序。在 `main` 函数中调用这些函数完成输入、排序和输出的操作。 [2024-10-27 19:13:25 | AI写代码神器 | 387点数解答]