HDU 2629 Identity Card

简单题

给出身份证号 判断住址 和出生年月

熟练字符串的操作 

主要是string::substr(s, l)//s:起始位置 l长度

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string>
 4 #include <string.h>
 5 #include <map>
 6 #include <fstream>
 7 
 8 using namespace std;
 9 
10 
11 map<string,string> m;
12 int main()
13 {
14     m["33"] = "Zhejiang";
15     m["11"] = "Beijing";
16     m["71"] = "Taiwan";
17     m["81"] = "Hong Kong";
18     m["82"] = "Macao";
19     m["54"] = "Tibet";
20     m["21"] = "Liaoning";
21     m["31"] = "Shanghai";
22     int T;
23     freopen("in.txt", "r", stdin);
24     ifstream cin ("in.txt");
25     scanf("%d", &T);
26     getchar();
27     while (T--)
28     {
29         char buff[128];
30         string id, from;
31         string yy, mm, dd;
32         gets(buff);
33         id = buff;
34         from = id.substr(0, 2);
35         yy = id.substr(6, 4);
36         mm = id.substr(10, 2);
37         dd = id.substr(12,2);
38         cout << "He/She is from " << m[from] << ",and his/her birthday is on " <<mm<<"," <<dd <<"," <<yy <<" based on the table."<<endl;
39     }
40 }

 

posted @ 2017-02-23 20:17  Lorazepam  阅读(251)  评论(0编辑  收藏  举报