1.描述
警察办案里检索到一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码大小进行排序,如果是错误的身份证号,则从排序列表中删除(仅需判断前两位省级地区编码是否在下面的列表中,以及对出生年月是否在1949.10.1-2022.10.1之间进行判断)。
备注:身份证号码为18位的数字组成,省级地区编码是第1到第2位,出生日期为第7到第14位。
身份证前两位各省对应的编号是:
11 北京市\12 天津市\13 河北省\14 山西省\15 内蒙古自治区
21 辽宁省\22 吉林省\23 黑龙江省
31 上海市\32 江苏省\33 浙江省\34 安徽省\35 福建省\36 江西省\37 山东省
41 河南省\42 湖北省\43 湖南省\44 广东省\45 广西壮族自治区\46 海南省
50 重庆市51 四川省52 贵州省53 云南省54 西藏自治区
61 陕西省62 甘肃省63 青海省64 宁夏回族自治区65 新疆维吾尔自治区
71 台湾省
81 香港特别行政区82 澳门特别行政区
*输入格式
第一行一个整数n,表示有n个身份证号码 (n<100)
余下的n行,每行一个身份证号码。 (已保证输入数字是18位)
*输出格式
按出生时间从大到小排序后的身份证号,每行一条
*样例输入
8
466272199203271156
21585619900709197X
21585620000228197X
234804198701078365
404475727700034980//【注:地区码不对】
710351199203313165
118698189201011234//【注:出生年份不对】
50123419831343135X//【注:出生月日不对】
*样例输出
234804198701078365
21585619900709197X
710351199203313165
4662721992032

本文介绍了一个身份证信息解析与排序的程序实现。程序能够读取一批身份证号码,验证其有效性,并按出生日期从大到小排序输出。同时,文章提供了完整的源代码及编译说明。
最低0.47元/天 解锁文章
2189

被折叠的 条评论
为什么被折叠?



