10分求助!救救孩子吧
  • 板块P1786 帮贡排序
  • 楼主言新
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/1/18 15:10
  • 上次更新2023/11/5 04:42:17
查看原帖
10分求助!救救孩子吧
401723
言新楼主2021/1/18 15:10
#include<iostream>
using namespace std;
#include<string>
#include<algorithm>
struct GH
{
	string name;
	string zhiwu;
	long long gx;
	int grade;
}gh[110];
bool cmp1(GH a, GH b)
{
	return a.gx > b.gx;
}
bool cmp2(GH a, GH b)
{
	return a.grade > b.grade;
}
int main()
{
	int n;
	cin >> n;
	int i;
	for (i = 0; i < n; i++)
	{
		cin >> gh[i].name >> gh[i].zhiwu >> gh[i].gx >> gh[i].grade;
	}
	sort(gh+3, gh + n, cmp1);
	for (i = 3; i < 5; i++)
	{
		gh[i].zhiwu = "HuFa";
	}
	sort(gh + 4, gh + 5, cmp2);
	for (i = 5; i<(9>n ? n : 9); i++)
	{
		gh[i].zhiwu = "ZhangLao";
	}
	if(n>6)
	sort(gh + 6, gh + (9 > n ? n : 9), cmp2);
	for (i = 9; i<(16>n ? n :16); i++)
	{
		gh[i].zhiwu = "TangZhu";
	}
	if(n>10)
	sort(gh + 10, gh + (16 > n ? n : 16), cmp2);
	for (i = 16; i<(41>n ? n : 41); i++)
	{
		gh[i].zhiwu = "JingYing";
	}
	if (n > 17)
	sort(gh + 17, gh + (41 > n ? n : 41), cmp2);
	for (i = 41; i < n; i++)
	{
		gh[i].zhiwu = "BangZhong";
	}
	if (n > 41)
	{
		sort(gh + 42, gh + n,cmp2);
	}
	for (int i=0; i < n; i++)
	{
		cout << gh[i].name << " " << gh[i].zhiwu << " " << gh[i].grade << endl;
	}
	return 0;
}
2021/1/18 15:10
加载中...