1 条题解
-
0
#include<iostream> #include<algorithm> using namespace std; struct student{ char name[20]; int a1,a2,a3,id; }s[55]; bool cmp(student a,student b){ if(a.a3==b.a3) return a.id<b.id; else return a.a3>b.a3; } int main(){ //C++16级 进步最大的同学 int n,m; cin>>n; //输入n名同学的信息 for(int i=0;i<n;i++){ cin>>s[i].name; //输入每名同学的名字 s[i].id=i+1; //他的id } for(int i=0;i<n;i++) cin>>s[i].a1; //输入第一次考试名次 for(int i=0;i<n;i++){ cin>>s[i].a2; //输入第二次考试名次 s[i].a3=s[i].a2-s[i].a1; //进步名次 } sort(s,s+n,cmp); //按照进步名次排序 for(int i=0;i<n;i++)//输出进步最大的同学 if(s[i].a3==s[0].a3) //如果某位同学的进步名次和第一名一样,也输出 cout<<s[i].id<<" "<<s[i].name<<endl; return 0; }
- 1
信息
- ID
- 1175
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 14
- 已通过
- 11
- 上传者