• 中超联赛


    题目描述(结构体排序)

    中超联赛拥有大量的现场观众和收视观众,球迷都渴望观看比赛,同时希望能有一个平台更深度的了解中超联赛,体验中超球队的辛苦和努力。每场足球比赛历时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
    ",i+1,s[i].name,s[i].sum);
        }
        return 0;
    }
    
  • 相关阅读:
    bash shell学习shell基础 (笔记)
    Linux入门 (笔记)
    《Effective C++》 阅读小结 (笔记)
    趣味PAT循环19. 币值转换(20)
    git学习小结 (笔记)
    一个新手Java编程的初次感受
    201671010112 第四周的感悟
    201671010112 老同学的java学习之路
    全民IT时代到来了?学计算机很有前途?——淘宝2011校园招聘笔试感想
    编写友好的命令行应用程序
  • 原文地址:https://www.cnblogs.com/skyleafcoder/p/12319581.html
Copyright © 2020-2023  润新知