求救

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

``` #include<bits/stdc++.h> using namespace std; struct fen{ string name; int qi,ban; char gan,xi; int lun,jiang=0; }a[105]; int f(fen x){ int much=0; if(x.qi>80 && x.lun>=1){ much+=8000; } if(x.qi>85 && x.ban>80){ much+=4000; } if(x.qi>90){ much+=2000; } if(x.qi>85 && x.xi=='Y'){ much+=1000; } if(x.ban>80 && x.gan=='Y'){ much+=850; } return much; } int main(){ int n,sum=0,max=-1; string ming; cin>>n; for(int i=0;i<n;i++){ cin>>a[i].name>>a[i].qi>>a[i].ban>>a[i].gan>>a[i].xi>>a[i].lun; a[i].jiang=f(a[i]); } for(int i=0;i<n;i++){ sum+=a[i].jiang; if(a[i].jiang>max){ max=a[i].jiang; ming=a[i].name; } } cout<<ming<<endl<<max<<endl<<sum; return 0; } ``` 注意奖学金可以叠加。
by Tommyshizichen @ 2024-03-23 15:44:19


|