题解
2025-08-17 20:10:49
发布于:广东
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e2+5;
int n,sum;
struct student
{
int id; //学生输入的顺序
string name; //学生的名字
int score1; //期末平均成绩
int score2; //班级评议成绩
char s1; //是否是学生干部
char s2; //是否是西部省份学生
int x; //发表的论文数
int money; //奖学金的数量
}p[maxn];
bool cmp(student x,student y)
{
if(x.money==y.money)
{
return x.id<y.id;
}
return x.money>y.money;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
p[i].id=i;
cin>>p[i].name;
cin>>p[i].score1>>p[i].score2;
cin>>p[i].s1>>p[i].s2;
cin>>p[i].x;
}
for(int i=1;i<=n;i++)
{
int cnt=0;
if(p[i].score1>80&&p[i].x>=1)
cnt+=8000;
if(p[i].score1>85&&p[i].score2>80)
cnt+=4000;
if(p[i].score1>90)
cnt+=2000;
if(p[i].score1>85&&p[i].s2=='Y')
cnt+=1000;
if(p[i].score2>80&&p[i].s1=='Y')
cnt+=850;
p[i].money=cnt;
sum+=cnt;
}
sort(p+1,p+n+1,cmp);
cout<<p[1].name<<endl;
cout<<p[1].money<<endl;
cout<<sum<<endl;
return 0;
}
这里空空如也
有帮助,赞一个