ZZULIOJ 1087:获取出生日期(多实例测试)

题目描述

输入某人的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 y, m, d, n, i;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		scanf("%*6d%4d%2d%2d%*d", &y, &m, &d);
		printf("%d-%02d-%02d\n", y, m, d);
	}
	return 0;
}

注:%*d(仅它有意义:忽略掉它本身,并重新匹配:)

代码实现中,%4d %2d %2d 分别对应 y m d

int a=0,b=0,c=0;       

scanf("%*d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);

输入:12  34  56
输出:a=34,b=56,c=0
相当于:忽略掉第一个输入12(它本身),
并将a与第二个数匹配,b与第三个数,
所以c没有匹配的输入,故c还是原来的值0.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值