中超联赛

题目描述(结构体排序)

中超联赛拥有大量的现场观众和收视观众,球迷都渴望观看比赛,同时希望能有一个平台更深度的了解中超联赛,体验中超球队的辛苦和努力。每场足球比赛历时90分钟,分为上半场和下半场。

中超的积分规则如下:赢得一场比赛得3分,平一场得1分,输球不得分。例如一个球队的胜平负的场次分别为11 2 2,那么积分就是113+21=35。今年的中超联赛已经落下帷幕,请你帮忙计算出各球队的总积分并按照积分给出球队最终的排名吧!

输入

输入有多行。第一行是球队数量n(1<n<=16)

接下来有n行,每行数据包含球队的名称(不含空格,长度不超过30个字符)和胜、平、负的场次,数据间以空格分开

输出

   输出各个球队按照积分的排名情况(保证所有球队的积分各不相同) ,每行输出球队的名次、名称和该队的积分,数据间用一个空格分开,每行末尾没有空格

样例输入
复制样例数据
3
shanghaishanggang 11 2 2
beijingguoan 12 2 1
shandonglunengtaishan 10 1 4
样例输出
1 beijingguoan 38
2 shanghaishanggang 35
3 shandonglunengtaishan 31

#include <stdio.h>
#include <stdlib.h>
#define N 50
typedef struct play
{
    char name[1000];
    int win;
    int equle;
    int fail;
    int sum;

}P;
int comp(P*a,P*b)
{
    return(b->win*3+b->equle)-(a->win*3+a->equle);
}
int main()
{
    int n,i;
    scanf("%d",&n);
    P s[n];
    for(i=0;i<n;i++)
    {
        scanf("%s %d %d %d",&s[i].name,&s[i].win,&s[i].equle,&s[i].fail);
        s[i].sum=s[i].win*3+s[i].equle;
    }
    qsort(s,n,sizeof(P),comp);
    for(i=0;i<n;i++)
    {
        printf("%d %s %d\n",i+1,s[i].name,s[i].sum);
    }
    return 0;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值