题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> // 比较函数,用于传递给 qsort int compare_strings(const void* a, const void* b) { const char* str1 = *(const char**)a; const char* str2 = *(const char**)b; return strcmp(str1, str2); } int main() { int n; scanf("%d", &n); char* strings[1000] = { 0 }; // 创建字符串指针数组 // 输入 n 个字符串 for (int i = 0; i < n; ++i) { strings[i] = (char*)malloc(101 * sizeof(char)); // 分配字符串存储空间 scanf("%s", strings[i]); } // 使用 qsort 函数对字符串数组进行排序 qsort(strings, n, sizeof(char*), compare_strings); // 输出排序后的结果 for (int i = 0; i < n; ++i) { printf("%s\n", strings[i]); free(strings[i]); // 释放每个字符串的内存 } return 0; }