文章

28

粉丝

0

获赞

98

访问

3.5k

头像
成绩排序 题解:暴力冒泡排序,但只有66%后超时
P1151 清华大学上机题
发布于2025年3月17日 11:30
阅读数 169

#include <bits/stdc++.h>
using namespace std;

// 定义学生结构体
struct Student {
    string name; // 学生姓名
    int score;     // 学生分数
};

int main() {
    int way, count;
    cin >> count; // 输入学生数量
    cin >> way;   // 输入排序方式(0: 降序, 1: 升序)

    Student stu[100]; // 假设最多100个学生

    // 输入学生信息
    for (int i = 0; i < count; i++) {
        cin >> stu[i].name >> stu[i].score;
    }

    // 排序
    if (way == 0) { // 降序排序
        for (int i = 0; i < count - 1; i++) {
            for (int j = 0; j < count - 1 - i; j++) {
                if (stu[j].score < stu[j + 1].score) {
                    swap(stu[j], stu[j + 1]);   //通过分数,判断结构体是否交换
                }
            }
        }
    } else if (way == 1) { // 升序排序
        for (int i = 0; i < count - 1; i++) {
            for (int j = 0; j < count - 1 - i; j++) {
                if (stu[j].score > stu[j + 1].score) {
                    swap(stu[j], stu[j + 1]);...
登录查看完整内容


登录后发布评论

1 条评论
快乐小土狗
2025年3月18日 17:14

错的原因应该是没有多组输入,题目说了是多组测试数据

赞(0)