题解 | #字符串排序#
字符串排序
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;
}
