讨论 / PID:16 代码哪里有问题
wrf 2012-03-16 08:54:00
点我顶贴 收藏 删除
#include <iostream>

#include <vector>

using std::vector;

struct student

{

vector<char> name;

int last;

int cls;

char gb;

char west;

int paper;

int all;

};

using std::cin;

using std::cout;

using std::endl;

int main(void)

{

student stu[100];

int n,i,max,c,near=-1;

char t;

cin>>n;

for(i=0;i<n;i++)

{

while(true)

{

cin>>t;

if((t>='A' && t<='Z') || (t>='a' && t<='z'))

{

stu[i].name.push_back(t);

}

else

{

break;

}

}

cin>>stu[i].last>>stu[i].cls>>stu[i].gb>>stu[i].west;

stu[i].all=0;

if(stu[i].last>80 && stu[i].paper>0)

{

stu[i].all+=8000;

}

if(stu[i].last>85 && stu[i].cls>80)

{

stu[i].all+=4000;

}

if(stu[i].last>90)

{

stu[i].all+=2000;

}

if(stu[i].last>85 && stu[i].west=='Y')

{

stu[i].all+=1000;

}

if(stu[i].last>80 && stu[i].gb=='Y')

{

stu[i].all+=850;

}

}

max=-1;

c=0;

for(i=0;i<n;i++)

{

if(stu[i].all>max)

{

max=stu[i].all;

near=i;

}

c++;

}

for(i=0;i<stu[near].name.size();i++)

{

cout<<stu[near].name[i];

}

cout<<endl<<max<<endl<<c;

return 0;

}

查看更多回复
提交回复