为什么50分!!!!

P1093 [NOIP2007 普及组] 奖学金

@[Wzq20101105](/user/757673) 用 $sort$ 排序而不自己写函数的话 , 会自动从小到大排序 , 不符合题意 . 这道题应该自己写排序的自定义函数 , 可能还要用到结构体 . 看一下我的代码吧 : ```cpp #include<bits/stdc++.h> using namespace std; struct point{ int id; int yuwen,shuxue,yingyu; int zongfen; }a[301];; int n; bool cmp(point i,point j){ if(i.zongfen>j.zongfen){ return 1; }else if(i.zongfen<j.zongfen){ return 0; }else { if(i.yuwen>j.yuwen){ return 1; }else if(i.yuwen<j.yuwen){ return 0; }else { return i.id<j.id; } } } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].yuwen>>a[i].shuxue>>a[i].yingyu; a[i].zongfen=a[i].yuwen+a[i].shuxue+a[i].yingyu; a[i].id=i; } sort(a+1,a+n+1,cmp); for(int i=1;i<=5;i++){ cout<<a[i].id<<" "<<a[i].zongfen<<endl; } return 0; } ```
by GXZJQ @ 2023-12-22 12:59:37


谢谢大佬解惑。
by Wzq20101105 @ 2023-12-22 13:04:52


|