c++练习:总分排名

【问题描述】
输入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;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值