水题,细心一些。
#include <cstdio>
#define yangyuan
int main()
{
#ifdef yangyuan
freopen("in", "r", stdin);
#endif // yangyuan
int n;
scanf("%d", &n);
getchar();
char idCard[25], year[5], month[3], day[3];
while (n--)
{
fgets(idCard, 20, stdin);
char *where = "Zhejiang";
switch ((idCard[0] - '0') * 10 + idCard[1] - '0')
{
case 11:
where = "Beijing";
break;
case 71:
where = "Taiwan";
break;
case 81:
where = "Hong Kong";
break;
case 82:
where = "Macao";
break;
case 54:
where = "Tibet";
break;
case 21:
where = "Liaoning";
break;
case 31:
where = "Shanghai";
break;
}
int i, j;
for (i = 0, j = 6; j < 10; j++)
year[i++] = idCard[j];
year[i] = '\0';
for (i = 0; j < 12; j++)
month[i++] = idCard[j];
month[i] = '\0';
for (i = 0; j < 14; j++)
day[i++] = idCard[j];
day[i] = '\0';
printf("He/She is from %s,and his/her birthday is on %s,%s,%s based on the table.\n",
where, month, day, year);
}
return 0;
}