【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”