天梯赛 L1-075 强迫症 (10 分)
题目
小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写 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>
using namespace std;
int main() {
int a;
scanf("%d", &a);
int mm = a % 100;
a /= 100;
if (a >= 100) printf("%04d-%02d\n", a, mm);
else if (a >= 22) printf("19%02d-%02d\n", a, mm);
else printf("20%02d-%02d\n", a, mm);
return 0;
}
感悟
- 基础题,月份直接%100就行