sicily--1147. 谁拿了最多奖学金

来源:互联网 发布:java简历项目管理经验 编辑:程序博客网 时间:2024/06/11 15:13

没什么难的,就是比较一下满不满足获奖条件就可以了

#include<iostream>#include<vector>#include<string>using namespace std;int main(){    vector<string> v1;    vector<int> v2;     int n;             //学生人数    cin >> n;    for(int i = 0; i < n; ++i)    {        string s;    //学生姓名        int sum = 0;        cin >> s;        v1.push_back (s);        int a;    //学生期末平均成绩        int b;    //学生班级评议成绩        char c;   //学生是否是学生干部,Y 表示学生为干部        char d;    //学生是否是西部省份学生, Y 表示学生是西部身份学生        int e;    //学生发表论文数        cin >> a >> b >> c >> d >> e;        if(a > 80 && e >0)    //院士奖学金            sum = sum + 8000;        if(a > 85 && b > 80)   //五四奖学金            sum = sum + 4000;        if(a > 90)   //成绩优秀奖            sum = sum + 2000;        if(a > 85 && d == 'Y')  //西部贡献奖            sum = sum + 1000;        if(b > 80 && c == 'Y')  //班级贡献奖            sum = sum + 850;        v2.push_back (sum);    }    vector<string>::iterator it1;    vector<int>::iterator it2;    int Sum = 0;    int max = 0;    it1 = v1.begin();    it2 = v2.begin();    max = *it2;    string temp;    for(it2 = v2.begin();it2 != v2.end ();++it2,++it1)   //以奖金数为条件排序    {        Sum = Sum + *it2;        if(*it2 > max)        {            max = *it2;            temp = *it1;        }    }    cout << temp << endl;   //输出姓名    cout << max << endl;  //输出该学生获得的奖学金总额    cout << Sum << endl;  //输出全部学生获得的奖学金总额    return 0;}                                 


原创粉丝点击