c语言输入出生日期输出年、月、日(scanf函数的%m格式控制与printf函数的%0格式控制符)

127 阅读1分钟

通过scanf函数的 %m 格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf函数的 %0 格式控制符,输出数值时指定左面不使用的空位置自动填0。 题目:

题目描述

输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。

数据范围:年份满足 1990≤𝑦≤2015 1990≤y≤2015 ,月份满足 1≤𝑚≤12 1≤m≤12  ,日满足 1≤𝑑≤30 1≤d≤30 

输入描述:

输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。

输出描述:

三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。

示例1

输入:

20130225 

输出:

year=2013
month=02
date=25

代码:

#include <stdio.h>

int main() {
    int year=0,month=0,day=0;

    scanf("%4d%2d%2d",&year,&month,&day);
    printf("year=%d\nmonth=%02d\ndate=%02d\n",year,month,day);//%02d表示将输出2Int型整数,不足两位将会在左边补零

    return 0;
}