1087: 获取出生日期(多实例测试)
题目描述
输入某人的18位身份证号,输出其出生日期。
输入
多实例测试。首先输入一个整数n,表示测试实例的个数,然后是n行,每行是一个18位身份证号。
输出
对于输入的每个身份证号,输出一行,即其对应的出生日期,输出格式为:yyyy-mm-dd。
样例输入 Copy
3
410106199411178657
410104198202095479
410122197911218097
样例输出 Copy
1994-11-17
1982-02-09
1979-11-21
提示
scanf()函数中,可用%md指定读取位数。
代码
#include<stdio.h>
int main()
{
int i,n,year,month,day;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%*6d%4d%2d%2d%*d",&year,&month,&day);
printf("%d-%02d-%02d\n",year,month,day);
}
return 0;
}
说明
%*6d表示跳过一个6位宽度的整型数,然后year接收一个4位整型,month与day位2位整型,后面再跳过一个整型
%02d中2是宽度,若整数不够2列就补上0