题解 | #字符串排序#

字符串排序

https://www.nowcoder.com/practice/dfeed0e0e4624814b122265e859783b2


# include<stdio.h>
#include<iostream>
using namespace std;
struct stu {
    string s;
    int length;

};
int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        struct stu a[n];
        char tep = getchar();//吞掉scanf后面的回车换行字符
        for (int i = 0; i < n; i++) {

            getline(cin, a[i].s);

            if (a[i].s == "stop") {
                n = i;//结构体缩小
                break;退出
            }
            a[i].length = a[i].s.length();

        }


        struct stu temp;//冒泡排序
        for (int i = 0; i < n - 1; i++)
            for (int j = 0; j < n - i - 1; j++) {
                if (a[j].length > a[j + 1].length) {
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }


            }


        for (int i = 0; i < n; i++) {
            cout << a[i].s << endl;
        }

    }
}


全部评论

相关推荐

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