洛谷P1051 谁拿了最多奖学金结构体(struct)解法
洛谷P1051 谁拿了最多奖学金
#include <iostream>
#include <string>
using namespace std;
int n,max_money = 0,max_money_i = 0,z = 0;
struct student{
string name;
int end_score,class_score,article,money;
char cadre,west;
};
student a[1000];
int main(){
cin >> n;
for(int i = 0;i < n;i++){
cin >> a[i].name >> a[i].end_score >> a[i].class_score >> a[i].cadre >> a[i].west >> a[i].article;
if(a[i].article >= 1 && a[i].end_score > 80)a[i].money += 8000;
if(a[i].end_score > 85 && a[i].class_score > 80)a[i].money += 4000;
if a[i].end_score > 90)a[i].money += 2000;
if(a[i].end_score > 85 && a[i].west == 'Y')a[i].money += 1000;
if(a[i].class_score > 80 && a[i].cadre == 'Y')a[i].money += 850;
z += a[i].money;
if(a[i].money > max_money){
max_money = a[i].money;
max_money_i = i;
}
}
cout << a[max_money_i].name << endl << a[max_money_i].money << endl << z;
return 0;
}