题解 P1051 【谁拿了最多奖学金】

· · 题解

今天是本蒟蒻第一次发题解(还是蛮激动的

看到自己博客里空空如也,开始还以为网卡了。。。

好,回归正题。

刚浏览了一遍dalao们发的老长老长的神犇题解,包含各种各样结构体,数组,函数......作为一个萌新菜鸟,我给大家写一个简洁明了最最没水平的代码

其实在我看来,

这道题真的太水了...

但是对于某些和我一样懒得写代码的同学来说,

噩梦!

对于这种题,教大家一种神奇的方法——一言不合狂打if

核心代码: 好像没有。。。

完整代码:(没有错误,请放心)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,score1,score2,sum=0,max=0,total=0,x,i;
    char a,b;
    string name,maxn;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>name>>score1>>score2>>a>>b>>x;
        if(score1>80 && x>0)//判断是否获得院士奖学金 
            sum+=8000;
        if(score1>85 && score2>80)//判断是否获得五四奖学金 
            sum+=4000;
        if(score1>90)//判断是否获得成绩优秀奖 
            sum+=2000;
        if(score1>85 && b=='Y')//判断是否获得西部奖学金
            sum+=1000;
        if(score2>80 && a=='Y')//判断是否获得班级贡献奖
            sum+=850;
        total+=sum;//累加奖学金
        if(sum>max)//找出最牛学生
            maxn=name,max=sum;//sum的用处
        sum=0;
    }
    cout<<maxn<<endl<<max<<endl<<total;
    return 0;
}

总之,还是比较简单的