1385 我得了多少票?

来源:互联网 发布:隆多生涯数据 编辑:程序博客网 时间:2024/05/16 01:55
 
描述

BH最近举行了一次校园歌手大赛,一共有N个参加了最后的角逐,现在已经统计出来了每个选手得到的票数,现在的名单是个排行榜,就是按照得票的多少排行的;

问题是,对于同学们来说,他们不想关心排名……想快速找到自己支持的歌手得到的票数是多少;

你的任务就是,对于给定的这个排行榜排序,然后输出排序后的名单,要求按照字典序排序。

输入

第一行包含一个整数T,表示有T组数据;

对于每组数据:

第一行包含一个整数N,表示有N个歌手;

以下N行每行包含一个字符串和一个整数,表示这个歌手的名字和他得到的票数;

输出

输出排序后的歌手名单,要求要包含他得到的票数;

也就是输出N行,每行包含一个字符串和一个整数;

样例输入
1
3
yuki 17173
shao 3721
tsk 163
样例输出
shao 3721
tsk 163
yuki 17173

 

模拟题,简单的排序

#include <stdio.h>#include <string.h>main(){int number,te;int n;int i,j,a1,b1,k,min;char a[200][100],temp[200][100];char b[200][100];scanf("%d",&number);for(te=1;te<=number;te++){scanf("%d",&n);getchar();for(i=0;i<n;i++){   a1=0;    b1=0;gets(temp[i]);for(j=0;temp[i][j]!=' ';j++)a[i][a1++]=temp[i][j];a[i][a1]='\0';for(k=j+1;temp[i][k]!='\0';k++)                 b[i][b1++]=temp[i][k];b[i][b1]='\0';} for(k=0;k<n;k++){min=0;for(i=0;i<n;i++){if (strcmp(a[i],a[min])<0){min=i;  } continue;}printf("%s %s\n",a[min],b[min]);strcpy(a[min],"{");  }}}


 

原创粉丝点击