- 谁拿了最多奖学金
 - @ 2014-10-25 00:52:03
 
代码如下
    #include<iostream>
    #include<string>
using namespace std;
int n,i;
struct S
    {
        string a;
        int b;
        int c;
        char d;
        char e;
        int f;
        int w;
    }stu[105];
void ANS(S str)
    {
        stu[i].w=0;
        if(stu[i].b>80&&stu[i].f>=1) stu[i].w+=8000;
        if(stu[i].b>85&&stu[i].c>80) stu[i].w+=4000;
        if(stu[i].b>90) stu[i].w+=2000;
        if(stu[i].b>80&&stu[i].e=='Y') stu[i].w+=1000;
        if(stu[i].c>80&&stu[i].d=='Y') stu[i].w+=850;
    }
int main()
    {
        int j=0,w=0;
        cin>>n;
        for(i=1;i<=n;i++)
        {
            cin>>stu[i].a
               >>stu[i].b
               >>stu[i].c
               >>stu[i].d
               >>stu[i].e
               >>stu[i].f;
        } 
        for(i=1;i<=n;i++)
            ANS(stu[i]);
        for(i=1;i<=n;i++) 
            if(stu[i].w>stu[j].w) j=i; 
        for(i=1;i<=n;i++)
            w+=stu[i].w;
        cout<<stu[j].a<<endl
            <<stu[j].w<<endl
            <<w<<endl;
        return 0;
    }
2 条评论
- 
  BeastLu LV 9 @ 2014-10-25 07:15:56
#include<iostream>
#include<string>using namespace std;
int n,i;
struct S
{
string a;
int b;
int c;
char d;
char e;
int f;
int w;
}stu[105];void ANS(S str)
{
stu[i].w=0;
if(stu[i].b>80&&stu[i].f>=1) stu[i].w+=8000;
if(stu[i].b>85&&stu[i].c>80) stu[i].w+=4000;
if(stu[i].b>90) stu[i].w+=2000;
if(stu[i].b>85&&stu[i].e=='Y') stu[i].w+=1000;//here wrong!原本你的是b>80
if(stu[i].c>80&&stu[i].d=='Y') stu[i].w+=850;
}int main()
{
int j=0,w=0;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>stu[i].a
>>stu[i].b
>>stu[i].c
>>stu[i].d
>>stu[i].e
>>stu[i].f;
}
for(i=1;i<=n;i++)
ANS(stu[i]);
for(i=1;i<=n;i++)
if(stu[i].w>stu[j].w) j=i;
for(i=1;i<=n;i++)
w+=stu[i].w;
cout<<stu[j].a<<endl
<<stu[j].w<<endl
<<w<<endl;
return 0;
} - 
  @ 2014-10-25 07:09:48
看程序之前,先 -- 印象分:**可读性啊**!
 
- 1