本帖最後由 李泳霖 於 2024-10-9 18:24 編輯
試自訂比較方法,對學生們的成績做遞減排序。
原始資料:
Bob 70 分
Cindy 66 分
Alice 77 分
Mary 76 分
排序後:
Alice 77 分
Mary 76 分
Bob 70 分
Cindy 66 分- #include<bits/stdc++.h>
- using namespace std;
- struct student
- {
- string name;
- int score;
- };
- bool compare(student a, student b)
- {
- return a.score>b.score;
- }
- student st[4];
- int main()
- {
- st[0].name="Bob";
- st[1].name="Cindy";
- st[2].name="Alice";
- st[3].name="Mary";
- st[0].score=70;
- st[1].score=66;
- st[2].score=77;
- st[3].score=76;
- for(student s: st)
- cout<<s.name<<"\t"<<s.score<<" 分"<<endl;
- cout<<"-------------"<<endl;
- sort(st, st+4, compare);
- for(student s: st)
- cout<<s.name<<"\t"<<s.score<<" 分"<<endl;
- cout<<"-------------"<<endl;
- return 0;
- }
複製代碼 |