您的当前位置:首页正文

7-3 字符串排序

来源:九壹网

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。

输入格式:

输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

输出格式:

按照以下格式输出排序后的结果:

After sorted:
每行一个字符串

输入样例:

red yellow blue black white

输出样例:

After sorted:
black
blue
red
white
yellow

鸣谢贵州民族大学张玉全老师修正数据!

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

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

#define NUM 5
#define Length 80

int main() {
    char strings[NUM][Length];
    char temp[Length];

    // 读入5个字符串
    for (int i = 0; i < NUM; i++) {
        scanf("%s", strings[i]);
    }

    // 使用冒泡排序对字符串进行排序
    for (int i = 0; i < NUM - 1; i++) {
        for (int j = 0; j < NUM - 1 - i; j++) {
            if (strcmp(strings[j], strings[j + 1]) > 0) {
                // 交换字符串
                strcpy(temp, strings[j]);
                strcpy(strings[j], strings[j + 1]);
                strcpy(strings[j + 1], temp);
            }
        }
    }

    // 输出排序后的字符串
    printf("After sorted:\n");
    for (int i = 0; i < NUM; i++) {
        printf("%s\n", strings[i]);
    }

    return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top