P1051代码快和题解一样了,但还是错误的
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n,sum = 0,maxn = 0,mo = 0,ban = 0,lun = 0,ans = 0; //sum 个人得分,maxn最高个人得分,mo期末平均成绩,ban班级评议成绩,lun发表的论文数,ans这 N 个学生获得的奖学金的总数
string name,won;//name姓名,won获得最多奖金的学生的姓名
char xue,xi;//xue是否是学生干部,xi是否是西部省份学生
cin >> n;
for (int i = 1;i <= n;i++)
{
cin >> name >> mo >> ban >> xue >> xi >> lun;
if (lun >= 1 && mo > 80)
sum += 8000;
if (ban > 80 && mo > 85)
sum += 4000;
if (mo > 90)
sum += 2000;
if (int(xi) == 121 && mo > 85)//‘Y’的ASCII是121
sum += 1000;
if (int(xue) == 121 && ban > 80)
sum += 850;
ans += sum;
if (sum > maxn)
{
maxn = sum;
won = name;
}
sum = 0;
}
cout << won << endl << maxn << endl << ans;
return 0;
}