【PTA】7-12 日期格式化 (5分)_中M2020春C入门练习第I段——变量、表达式、分支、循环

题目

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

输入格式:

输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。

输出格式:

在一行中按照“yyyy-mm-dd”的格式给出年、月、日。

输入样例:

03-15-2017

输出样例:

2017-03-15

解答

#include<stdio.h>

int main(){
    int month,day,year;
    scanf("%d-%d-%d", &month, &day, &year);
    printf("%d-%02d-%02d",year, month, day);
    return 0;
}

注意

我们在输出时可以在格式声明中指出输出数据的域宽(所占的列数)。
(1)如“%2d”是指定输出数据占两列,输出的数据显示在此两列区域的右侧。
(2)而“%02d”即是将原来没有数据所在的列(空格)替换成0。
例如,如果要输出的数据是整数3,则
(1)的输出是“ 3”;
(2)的输出是“03”