小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写
199808
,有的人只写9808
。有强迫症的小强请你写个程序,把所有人的出生年月都整理成年年年年-月月
格式。对于那些只写了年份后两位的信息,我们默认小于22
都是20
开头的,其他都是19
开头的。输入格式:
输入在一行中给出一个出生年月,为一个 6 位或者 4 位数,题目保证是 1000 年 1 月到 2021 年 12 月之间的合法年月。
输出格式:
在一行中按标准格式
年年年年-月月
将输入的信息整理输出。输入样例 1:
9808
输出样例 1:
1998-08
输入样例 2:
0510
输出样例 2:
2005-10
输入样例 3:
196711
输出样例 3:
1967-11
学的函数还是尽量要是使用
#include<iostream>
#include<string>
using namespace std;
string str;
int main()
{
int year, month;
cin >> str;
if (str.size() == 6)
{
year = stoi(str.substr(0, 4));
month = stoi(str.substr(4));
}
else
{
year = stoi(str.substr(0, 2));
month = stoi(str.substr(2));
if (year < 22)year += 2000;
else year += 1900;
}
printf("%04d-%02d\n", year, month);
return 0;
}