题目描述
输入某人的18位身份证号,输出其出生日期。
输入
多实例测试。首先输入一个整数n,表示测试实例的个数,然后是n行,每行是一个18位身份证号。
输出
对于输入的每个身份证号,输出一行,即其对应的出生日期,输出格式为:yyyy-mm-dd。
样例输入
3
410106199411178657
410104198202095479
410122197911218097
样例输出
1994-11-17
1982-02-09
1979-11-21
# include<stdio.h>
int main()
{
int a,b,c,d,e,f,g;
scanf("%d",&a);
for(b=0;b<a;b++)
{
scanf("%*6d%4d%1d%1d%1d%1d%*4d",&c,&d,&e,&f,&g);
printf("%d-%d%d-%d%d\n",c,d,e,f,g);
}
return 0;
}
注意:1、scanf()函数中,可用%md指定读取位数。然而%*md的作用是间隔m个不使用。
2、读取一位的时候应该使用%1d,不能错误的用为%d;