一、题目
小强在统计一个小区里居民的出生年月,但是发现大家填写的生日格式不统一,例如有的人写 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
二、方法1
1、思路
以字符串的形式来输出,判断长度为 4 还是 6。如果为 4,则判断前两位与22的关系,然后按要求输出即可;如果为 6,直接按要求输出即可。
2、代码
#include<stdio.h>
#include<string.h>
int main()
{
char s[10];
scanf("%s", s);
int len = strlen(s), num;
if (len == 4)
{
num = (s[0] - '0') * 10 + (s[1] - '0');
num = num < 22 ? 20 : 19;
printf("%d", num);
printf("%c%c-%c%c", s[0], s[1], s[2], s[3]);
}
else
{
printf("%c%c%c%c-%c%c", s[0], s[1], s[2], s[3], s[4], s[5]);
}
return 0;
}