题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/3f27a0a5a59643a8abf0140b9a8cf1f7

#include <stdio.h>

int main() {
    int n;
     typedef struct student{
        int a;
        int b;
     }stu;
     scanf("%d",&n);
     stu sum[n],c,d;
     for(int i=0;i<n;i++)
     {
        scanf("%d%d",&sum[i].a,&sum[i].b);
     }

     for(int i=0;i<n;i++)
     {
          for(int j=0;j<n-i-1;j++)
     {
        if(sum[j].b>sum[j+1].b)
        {
             c=sum[j];
             sum[j]=sum[j+1];
             sum[j+1]=c;
        }
        if(sum[j].b==sum[j+1].b)
        {
            if(sum[j].a>sum[j+1].a)
            {
               d=sum[j];
               sum[j]=sum[j+1];
               sum[j+1]=d;
            }
        }
     }
   
     }
       for(int i=0;i<n;i++)
     {
        printf("%d %d\n",sum[i].a,sum[i].b);
     }
   
    return 0;
}

全部评论

相关推荐

青春运维少年不会梦到...:实习大王
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务