A problem of sorting
2015-09-05 22:48
411 查看
A problem of sorting
Accepts: 371
Submissions: 1706
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
给出一张许多人的年龄和生日表。你需要从年轻到年老输出人们的名字。(没有人年龄相同)
输入描述
第一行包含一个正整数T(T \leq 5)T(T≤5),表示数据组数。 对于每组数据,第一行包含一个正整数n(1 \leq n \leq 100)n(1≤n≤100),表示人数,接下来n行,每行包含一个姓名和生日年份(1900-2015),用一个空格隔开。姓名长度大于0且不大于100。注意姓名中只包含字母,数字和空格。
输出描述
对于每组数据,输出nn行姓名。
输入样例
2 1 FancyCoder 1996 2 FancyCoder 1996 xyz111 1997
输出样例
FancyCoder xyz111 FancyCoder
思路:
注意姓名中只包含字母,数字和空格。这个是坑点。
AC代码:
#include<iostream> #include<algorithm> #include<cstring> #include<string> #include<cstdio> using namespace std; struct node { char s[110]; int num; }a[110]; bool cmp(node a,node b) { return a.num>b.num; } int main() { /*freopen("input.txt","r",stdin);*/ int n,m,i,len; cin >> n; while(n--) { cin >> m;char str[200]; cin.get(); for(i=0;i<m;++i){ cin.getline(str,200);len=strlen(str); a[i].num=str[len-4]*1000+str[len-3]*100+str[len-2]*10+str[len-1]; len-=5; str[len]='\0'; strcpy(a[i].s,str); } sort(a,a+m,cmp); for(i=0;i<m;++i){ cout << a[i].s << endl; } } return 0; }
相关文章推荐
- 用ODBC的分页显示
- JDBCTM 指南:入门
- JDBC-ODBC翻页例子
- BC-Round 3 HDU 4908
- 使用BouncyCastle求ECC上的K倍点
- 使用BouncyCastle求ECC上的K倍点
- esoterica - the key to *dream*
- Linux命令行计算器bc
- windows下将github的mergetool设置为 beyond compare 4 (bc4) 的方法
- 和小白一起学ABAP -- 2 关于 SAP 标准教程编号的说明
- Linux下的简单好用的计算器bc
- linux BC命令行计算器
- 1.菜鸟的linux学习之路------linux初体验
- bc进制转换
- 浅析HP EVA存储的BC和CA功能
- Support by Bouncy Castle
- shell脚本中的浮点数计算
- 总结linux下printf命令的用法
- shell-变量的数值计算2
- linux之时间,关机,其它命令