听取WA声一片:#2#3#4#6#7#9#10WA,悬关

P1051 [NOIP2005 提高组] 谁拿了最多奖学金

班级贡献奖是班级评议分>80,而不是成绩>80,所以把 ```cpp if(stu[i].score>80&&stu[i].contribute)stu[i].scholarship+=850; ``` 一行,前面的.score改成.Evaluation_results ```cpp if(stu[i].Evaluation_results>80/*改这里*/&&stu[i].contribute)stu[i].scholarship+=850; ``` AC代码: ```cpp #include<bits/stdc++.h> using namespace std; struct student{ string name="";//姓名 int number=0;//编号 int score=0;//成绩 int Evaluation_results;//班级评议成绩 bool academician=false;//院士 bool May_Fourth=false;//五四 bool excellent=false;//极好的 bool west=false;//西部 bool contribute=false;//贡献 long long scholarship=0;//奖学金 }stu[105]; bool cmp(student x,student y){ if(x.scholarship!=y.scholarship)return x.scholarship>y.scholarship; else return x.number<y.number; } long long sum=0; int main(){ int n; cin>>n; for(int i=0;i<n;i++){ char ch; int in; cin>>stu[i].name; stu[i].number=i; cin>>stu[i].score; if(stu[i].score>90)stu[i].excellent=true; cin>>stu[i].Evaluation_results; cin>>ch; if(ch=='Y')stu[i].contribute=true; cin>>ch; if(ch=='Y')stu[i].west=true; cin>>in; if(in!=0)stu[i].academician=true; /* /\ | | 输入 | 计算奖学金 | \/ */ if(stu[i].score>80&&stu[i].academician)stu[i].scholarship+=8000; if(stu[i].score>85&&stu[i].Evaluation_results>80)stu[i].scholarship+=4000; if(stu[i].excellent)stu[i].scholarship+=2000; if(stu[i].score>85&&stu[i].west)stu[i].scholarship+=1000; if(stu[i].Evaluation_results>80/*改这里*/&&stu[i].contribute)stu[i].scholarship+=850; sum+=stu[i].scholarship; } sort(stu,stu+n,cmp); cout<<stu[0].name<<"\n"<<stu[0].scholarship<<"\n"<<sum; return 0; } ```
by wanglexi @ 2023-10-10 21:30:28


谢谢大佬! **已关** ---
by tongtong2012 @ 2023-10-11 20:05:03


此贴结! ---
by tongtong2012 @ 2023-10-11 20:07:46


|