题解 | #字符串排序#

字符串排序

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;
}

全部评论

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务