题解 | #打印日期#

打印日期

https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b

#include <iostream>
using namespace std;
int GetMonthDay(int year,int month)
{
    int arr[13] = {-1, 31, 28, 31, 30, 31, 30,
                      31, 31, 30, 31, 30, 31};
    if((month==2)&&((year%4==0 && year%100!=0)||(year %400 ==0)))
    {
        return 29;
    }
    return arr[month];
}
void fun(int& year, int& month, int& day) {
    while (day > GetMonthDay(year, month) ) {
        day -= GetMonthDay(year, month);
        ++month;
    }
}
int main() {
    int a, b;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        int month = 1;
        fun(a, month, b);
        printf("%4d%c%02d%c%02d\n", a, '-', month, '-', b);
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

09-14 17:23
门头沟学院
故事和酒66:所以说副业很重要,程序员干到40岁,再怎么也赚300万了,吃吃利息也够活下去
点赞 评论 收藏
分享
瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务