题解 | #字符串排序#

字符串排序

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:24
大家还是用ai改吧,我心疼得要死,就当花钱买教训吧,人家直接拿完钱就跑路了
程序员小白条:简历修改700....神奇,又不是帮你面试,咋的,简历修改从双非变92了还是没实习变成有大厂实习了
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 12:05
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务