题目链接
这道题讲的是输出每个学生最好的成绩和排名,如果相同按照A>C>M>E的顺序来
这里测试点2讲的是,如果存在相同成绩的情况,比如
可能出现的排名1,1,3,4,5这种情况
这里定义一个结构体来存储id,rank排名,courses成绩,处理过程在代码里写好了注解
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct student{
int id;
int rank[4];
int courses[4];
};//存储学生ID,成绩,排名
student inf[2100];
int ans[1000000];//验证ID是不是存在,记录id在inf里对应的位置
int index;
bool cmp(student t1,student t2){
return t1.courses[index]>t2.courses[index];
}//按照每课成绩排序
int main(){
fill(ans,ans+1000000,-1);//初始化-1,方便判断是不是存在