【问题描述】
输入n个小学生的语文、数学的得分,按总分从高到低输出,分数相同按输入先后输出;
【输入格式】
第一行整数n(0<n<=100)
下面有n行;
【输出格式】
输出n行
格式:姓名、语文、数学、总分
【输入样例】
4
a 78 96
b 70 99
c 90 87
d 78 91
【输出样例】
c 90 87 177
a 78 96 174
b 70 99 169
d 78 91 169
【代码】
#include<bits/stdc++.h>
using namespace std;
struct s{
char name[110];
int chinese;
int maths;
int t;
}a[100];
bool cmp(a s1,a s2){
return s1.t>s1.t;}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i].name>>a[i].chinese>>a[i].maths>>a[i].t;
a[i].t=a[i].chinese+a[i].maths;}
sort(a,a+1,cmp);
for(int i=0;i<n;i++){
cin<<a[i].name<<' '<<a[i].chinese<<' '<<a[i].maths<<' '<<a[i].t<<endl;}
return 0;
}