小珅同学班上一共有 n 个同学每个同学依次编号为 12…n每个同学有一个分数。现在他请你帮忙做一份全班同学的成绩排名表。首先你需要按照分数从高到低将所有同学排序分数相同时编号小的更靠前。排好序后计算出每个同学的排名再按照每个同学编号的顺序依次输出每个同学的排名。c++代码
#include
struct Student{ int id; int score; };
bool compare(Student s1, Student s2){ if(s1.score == s2.score){ return s1.id < s2.id; } return s1.score > s2.score; }
int main() {
int n;
cin >> n;
vector
sort(students.begin(), students.end(), compare);
for(int i=0; i<n; i++){
cout << students[i].id << " " << i+1 << endl;
}
return 0;
原文地址: https://www.cveoy.top/t/topic/hDEU 著作权归作者所有。请勿转载和采集!