这个代码又漂亮 又全对
2023-04-10 22:30:42
发布于:北京
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
struct student
{
string name; //姓名
int number; //序号
int a; //平均成绩
int b; //评议成绩
char c; //学生干部 Y N
char d; //西部省份 Y N
int e; //论文数量
int money=0; //奖金数额
}a[N];
bool cmp(student a, student b)
{
if(a.money != b.money)
return a.money > b.money;
else
return a.number < b.number; //先输入的名字 的放前面
}
int main()
{
int n;
cin>>n;
for(int i=1; i<=n; i++)
{
cin>>a[i].name>>a[i].a>>a[i].b>>a[i].c>>a[i].d>>a[i].e;
a[i].number = i;
}
for(int i=1; i<=n; i++)
{
if(a[i].a>80 and a[i].e>=1)
a[i].money += 8000;
if(a[i].a>85 and a[i].b>80)
a[i].money += 4000;
if(a[i].a>90 )
a[i].money += 2000;
if(a[i].a>85 and a[i].d=='Y')
a[i].money += 1000;
if(a[i].b>80 and a[i].c=='Y')
a[i].money += 850;
}
sort( a+1, a+n+1, cmp);
int cnt = 0;
cout << a[1].name<<endl;
cout << a[1].money<<endl;
for(int i=1; i<=n; i++)
cnt += a[i].money;
cout<<cnt; //所有学生的总奖金数
return 0;
}
这里空空如也
有帮助,赞一个