求救
查看原帖
求救
867645
155555a楼主2023/11/21 19:50
#include<iostream>
#include<algorithm>
using namespace std;
#define MAX 310
struct abb
{
	int num = 0;
	double yuwen  = 0;
	double shuxue = 0;
	double yingyu = 0;
	double zong   = 0;
}add[MAX];
bool cmp(abb a, abb B)
{
	if (a.zong > B.zong)
		return a.zong > B.zong;
	if (a.zong == B.zong)
	{
		if (a.yuwen > B.yuwen)
			return a.yuwen > B.yuwen;
		if (a.yuwen == B.yuwen)
			return a.num > B.num;
	}
	else return 0;
}
int main()
{
	int n; cin >> n;
	for (int i = 0; i < n; i++)
	{
		add[i].num = i+1;
		cin >> add[i].yuwen >> add[i].shuxue >> add[i].yingyu;
		add[i].zong = add[i].shuxue + add[i].yingyu + add[i].yuwen;
	}
	sort(add, add + n, cmp);
	for (int j = 0; j < 5; j++)
	{
		cout << add[j].num << " " << add[j].zong << endl;
	}
	return 0;
}
//为什么只有80分,哪里错了,求求大佬教教
2023/11/21 19:50
加载中...