73哪错了????????????!!!!!!!!!!!

bc03 黄金三 2022-08-12 13:24:46 2022-08-12 17:04:59 1
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

struct fy {

    int ch;

    int math;

    int eng;

    int zf;

    int id;

} a[301];

bool cmp(fy x, fy y) {

    if (x.zf == y.zf) {

        return x.ch > y.ch;

    } else if (x.zf == y.zf && x.ch == y.ch) {

        return x.id < y.id;

    } else {

        return x.zf > y.zf;

    }

}

int main() {

    int n;

    cin >> n;

    for (int i = 1; i <= n; i++) {

        cin >> a[i].ch >> a[i].math >> a[i].eng;

        a[i].zf = a[i].ch + a[i].math + a[i].eng;

        a[i].id = i;

    }

    sort(a + 1, a + n + 1, cmp);

    for (int i = 1; i <= 5; i++) {

        cout << a[i].id << " " << a[i].zf << endl;

    }

    return 0;

}

只有92分。

{{ vote && vote.total.up }}

共 16 条回复

bc03 黄金三

我也懂了

bc03 黄金三

我已ac了

bc03 黄金三

@CPP,谢谢啊。

CPP 刷题王

cmp函数有问题

CPP 刷题王
bool cmp(fy x, fy y) {
	if(x.zf != y.zf)
		return x.zf > y.zf;
	else if (x.ch != y.ch)
		return x.ch > y.ch;
	return x.id < y.id;
}
CPP 刷题王

这万一语文成绩和总分相等那程序输出还正确吗

CPP 刷题王
bool cmp(fy x, fy y) {

    if (x.zf == y.zf)
        return x.ch > y.ch;
    else if (x.zf == y.zf && x.ch == y.ch)
        return x.id < y.id;
    return x.zf > y.zf;
}

这个函数有问题

CPP 刷题王

需要敲这么多空格吗?

CPP 刷题王

如果没有登录,就登录现在的账号

CPP 刷题王

你看看