题解 | #字符串排序#

字符串排序

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

#include <stdio.h>
#include <string.h>
typedef struct {
    char buf[101];
} str;

int main() {
    str str[1001];
    char temp[101];
    int num, i, j, k, max = 0, len;
    scanf("%d", &num);
    for (i = 0; i < num; i++) {
        scanf("%s", str[i].buf);
        len = strlen(str[i].buf);
        if (len > max) {
            max = len;
        }
    }


    for (i = 0; i < num - 1; i++) {
        for (j = 0; j < num - 1; j++) {
            {
                k = 0;
                if (str[j].buf[k] != str[j + 1].buf[k]) {
                    if (str[j].buf[k] > str[j + 1].buf[k]) {
                        sprintf(temp, "%s", str[j + 1].buf);
                        sprintf(str[j + 1].buf, "%s", str[j].buf);
                        sprintf(str[j].buf, "%s", temp);
                    }
                } else {
                    while (k < strlen(str[i].buf)) {
                        k++;
                        if (str[j].buf[k] > str[j + 1].buf[k]) {
                            sprintf(temp, "%s", str[j + 1].buf);
                            sprintf(str[j + 1].buf, "%s", str[j].buf);
                            sprintf(str[j].buf, "%s", temp);
                            break;
                        } else {
                            if(str[j].buf[k] < str[j + 1].buf[k]){
                                break;
                            }
                        }
                    }
                }
            }
        }
    }


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

全部评论

相关推荐

joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务