JG-OJ记录102:10:规范日期格式

it2025-12-16  11

描述

有很多种表示日期的方法,比如对于2017年10月21日而言,中国的表示方法是2017.10.21,英国的表示方法是Oct.21, 2017,美国的表示方法是21 Oct., 2017,十分混乱。

对于日期的表示方法,班宝hrr比较喜欢按照yyyy-mm-dd的形式表示,其中yyyy表示4位数的年份,不足4位的情况下前面补0,补到4位数;mm表示2位数的月份,不足2位的情况下前面补0;dd表示2位数的天数,不足2位的情况下前面补0。例如2017年1月1日表示成2017-01-01,其中年份和月份之间,以及月份和天数之间是字符减号。

输入

第1行是一个正整数n,表示测试案例的数量。 从第2行到第n+1行,每行是一组测试案例,有三个正整数a、b、c,其中a表示年份,b表示月份,c表示天数,1<=a<=9999,a、b、c构成的日期是合法有效的。

输出

针对每组案例,按照yyyy-mm-dd的格式输出日期。每组案例输出完都要换行。

样例输入 复制样例

2

2017 1 1

189 3 20

样例输出

2017-01-01

0189-03-20

HINT 

解: 

#include<iostream> using namespace std; int main() { int n,m=0; cin>>n; for(int i=1;i<=n;i++) { int a,b,c; cin>>a>>b>>c; if(a<10)//缺多少0补多少; { cout<<"000"<<a; } else if(a<100) { cout<<"00"<<a; } else if(a<1000) { cout<<"0"<<a; } else cout<<a; cout<<"-"; if(b<10) { cout<<"0"<<b;//同理; } else cout<<b; cout<<"-"; if(c<10) { cout<<"0"<<c<<endl;//同理; } else cout<<c<<endl; } return 0; }

 

最新回复(0)