一下是我30分代码
#include<iostream>
using namespace std;
int main(){
int num=0,sum=0,sum_total=0;
string str[101];
int sum_all[101];
int a,b,e;
char c,d;
cin>>num;
for(int i=0;i<num;i++){
cin>>str[i]>>a>>b>>c>>d>>e;
if(a>80&&e>=1) sum+=8000;
if(a>85&&b>80) sum+=4000;
if(a>90) sum+=2000;
if(a>85&&d=='Y') sum+=1000;
if(a>80&&c=='Y') sum+=850;
sum_all[i]=sum;
sum_total+=sum;
sum=0;
}
int max=-1;
int suoyin=0;
for(int i=0;i<num;i++){
if(max<sum_all[i]) {max=sum_all[i];suoyin=i;}
}
cout<<str[suoyin]<<endl;
cout<<sum_all[suoyin]<<endl;
cout<<sum_total;
return 0;
}
·错误原因:将题干中的第五点的奖学金看成了期末平均成绩高于80分,实际上是班级评议成绩高于80,改后可AC