题解 | #字符串排序#

字符串排序

https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

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


int cmp(const void* a, const void *b)
{
    //const char *str1 = (const char *)a;
    return strcmp((const char *)a, (const char *)b);
}

int main() {
    // char *str_list = NULL;

    // int num = 0;
    // scanf("%d", &num);
    // str_list = malloc(num*sizeof(char*));

    // int i = 0;
    // char str[101] = {0};
    // for (i = 0; i < num; i++) {
    //     memset(str, 0, sizeof(str));
    //     scanf("%s", str);
    //     int len =
    // }


    char str_list[1000][101] = {0};
    memset(str_list, 0, sizeof(str_list));

    int num = 0;
    scanf("%d", &num);

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

    qsort(str_list, num, sizeof(str_list[0]), cmp);

    for (i = 0; i < num; i++) {
        printf("%s\n", str_list[i]);
    }

    return 0;
}

收获点:

1.字符串长度是1-100,那么数组的长度应该是101,否则会溢出

2.qsort虽然号用,但是自己还是需要学习一些简单的排序算法

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务