鱼C论坛

 找回密码
 立即注册
查看: 2392|回复: 1

足球比赛,有人吗

[复制链接]
发表于 2022-12-23 21:39:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
足球比赛结果排名规则:按积分从高到低排名,积分相同的球队按净胜球从多到少排名。

输入格式:
第一行一个整数n(n<40),表示球队数量;

接下来n行为每个球队的信息:球队名(长度不超过20的字符串,无空格)、积分、净胜球。

输出格式:
输出排名后的球队信息,每支球队一行,依次为:排名 球队名、积分、净胜球。排名从1开始。



输入
3
hengda 45 20
shanggang 50 18
luneng 40 15

输出
1 shanggang 50 18
2 hengda 45 20
3 luneng 40 15
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-24 07:52:25 | 显示全部楼层
#include <stdio.h>
#include <stdlib.h>
struct team
{
    char name[32];
    int jf,jsq;
};


int cmp (const void* a,const void* b)
{
    struct team *a1=(struct team*)a,*b1=(struct team*)b;
    if(b1->jf==a1->jf)return b1->jsq-a1->jsq;
    return b1->jf-a1->jf;
}
int main()
{
    int i,j,n;
    scanf("%d",&n);
    struct team teams[n],tmp={0};;
    for(i=0;i<n;i+=1)scanf("%s%d%d",teams[i].name,&teams[i].jf,&teams[i].jsq);
    qsort(teams,n,sizeof(struct team),cmp);
    for(i=0,j=0;i<n;i+=1)
    {
        if(tmp.jf!=teams[i].jf||teams[i].jsq!=tmp.jsq)j+=1;
        printf("%d %s %d %d\n",j,teams[i].name,teams[i].jf,teams[i].jsq);
        tmp=teams[i];
    }
6
shanggang1 50 18
hengda 45 20
shanggang 50 18
luneng 40 15
hengda1 45 20
luneng1 40 16
1 shanggang 50 18
1 shanggang1 50 18
2 hengda1 45 20
2 hengda 45 20
3 luneng1 40 16
4 luneng 40 15

Process returned 0 (0x0)   execution time : 1.402 s
Press any key to continue.
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 16:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表