• 小鑫の日常系列故事(十)——排名次


    小鑫の日常系列故事(十)——排名次

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Problem Description

    小鑫在来到SDUT之后,经过十分刻苦的学习和努力终于进入了ACM集训队。很快又一次ACM集训队的选拔就要开始了,集训队员们又忙碌了起来。他也十分幸运的被学长抓来当苦力。  o(∩_∩)o 
    这次学长给他分配的任务是写一个自动排名的程序,我们知道当选拔赛结束的时候,每一个参与选拔的同学都会有一个自己的分数。而集训队需要根据大家的分数排名来决定谁能够进入集训队,这个任务就落在了小鑫身上。
    你能帮小鑫来完成这个程序么?

    Input

     输入的第一行为n  0<n<=50;
    下面还有n行每行为一个人名和ta所得到的分数。保证没有相同的分数。
    人名为英文单词,长度不超过10。

    Output

     输出为n行,每行一个人名与他的得分。每一行最后没有多余的空格。
    具体输出格式见样例。

    Sample Input

    3
    Dan 10
    John 50
    Danny 30

    Sample Output

    John 50
    Danny 30
    Dan 10

    Hint

     

    Source

    lin
     1 #include <stdio.h>
     2 #include <string.h>
     3 int main()
     4 {
     5     int n;
     6     char s[51][11];
     7     int a[50];
     8     int t;
     9     char temp[11];
    10     scanf("%d",&n);
    11     for(int i=0;i<n;i++)    
    12     scanf("%s %d",s[i],&a[i]);
    13     for(int i=0;i<n-1;i++)
    14     {
    15         for(int j=i+1;j<n;j++)
    16         if(a[j]>a[i])
    17         {
    18             t=a[i];
    19             a[i]=a[j];
    20             a[j]=t;
    21             strcpy(temp,s[i]);
    22             strcpy(s[i],s[j]);
    23             strcpy(s[j],temp);
    24         }
    25     }
    26     for(int i=0;i<n;i++)
    27     printf("%s %d
    ",s[i],a[i]);
    28     return 0;
    29 } 

     或

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 struct ren
     4 {
     5     char a[11];
     6     int b;
     7 }q[51], t;
     8 int main()
     9 {
    10     int n;
    11     scanf("%d",&n);
    12     for(int i=0;i<n;i++)
    13     {
    14         scanf("%s %d",q[i].a,&q[i].b);
    15     }
    16     for (int i=0;i<n;i++)
    17     {
    18         for (int j=0;j<n-1-i;j++)
    19         {
    20             if(q[j].b<q[j+1].b)
    21             {
    22                 t=q[j];
    23                 q[j]=q[j+1];
    24                 q[j+1]=t;
    25             }
    26         }
    27     }
    28     for (int i=0;i<n;i++)
    29     {
    30         printf("%s %d
    ",q[i].a,q[i].b);
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    windows service 安装和卸载指令
    jackson 进行json与java对象转换 之四
    jackson 进行json与java对象转换 之三
    jackson 进行json与java对象转换 之二
    jackson 进行json与java对象转换 之一
    jackson2.x与Jackson1.9的比较
    判断Integer值相等不能用==
    java:String使用equals和==比较的区别
    Java中自定义枚举(Enum)项的值,可设置为指定的值
    Java enum(枚举)使用详解之四
  • 原文地址:https://www.cnblogs.com/xiaolitongxueyaoshangjin/p/12034583.html
Copyright © 2020-2023  润新知