站外题求助,急!悬3关
  • 板块灌水区
  • 楼主Starry_dream
  • 当前回复18
  • 已保存回复19
  • 发布时间2023/10/27 20:18
  • 上次更新2023/11/2 11:11:40
查看原帖
站外题求助,急!悬3关
818820
Starry_dream楼主2023/10/27 20:18

题目大意:班上一共有 n 名同学。 每个同学的名字都是一个长度小于 10 、由小写英文字母构成的字符串,有可能存在重名的同学。 每个同学都有语数英三门课的成绩,每门课的成绩都是一个 0 ∼ 100 范围内的整数,按照 名字.语文成绩.数学成绩.英语成绩 的格式给出。

请按照总分从大到小的顺序输出每个人名字,总分相同时按照输入顺序从前到后输出。

#include<bits/stdc++.h>
using namespace std;
struct stu
{
	string na;
	int ch,ma,en,zong;
}a[1005];
int cmp(stu x,stu y)
{
	return x.zong>y.zong;
}
int main()
{
	int n;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		char c;
      cin>>a[i].na>>c>>a[i].ch>>c>>a[i].ma>>c>>a[i].en;
		a[i].zong=a[i].ch+a[i].ma+a[i].en;
	}
	sort(a,a+n,cmp);
	for(int i=0;i<n;i++)
	{
		cout<<a[i].na<<endl;
	}
	return 0;
}

连样例都没过

2023/10/27 20:18
加载中...