题目描述:
有n个小朋友考了语文数学两门课,现在希望对成绩进行排序来确定名次。总分高的排在前面,如果总分相同就按语文成绩排。现在请你输出排序后的成绩。
思路:
利用结构体加sort排序再判断下条件就ooook~啦。
直接上代码
#include<iostream>
#include<algorithm>
using namespace std;
struct st{
int c,m,sum;
}a[1001];
bool cmp(st a,st b){
return a.sum==b.sum?a.c>b.c:a.sum>b.sum;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].c>>a[i].m;
a[i].sum=a[i].c+a[i].m;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].c<<" "<<a[i].m<<endl;
}
return 0;
}
那啥既然都看到这里了,不妨点个赞?
制作不易,不喜勿喷