题解 | #打印日期#

打印日期

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

#include <iostream>
using namespace std;

int main() {
    int a, b;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        int monthall[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
        if(b > 59 && (a % 4 == 0 && a % 100 != 0) || (a % 400 == 0))
        {
            monthall[2] = 29;
        }
        int month = 1;
        int day = 0;
        while(b > monthall[month])
        {
            b-=monthall[month++];
        }
        day = b;
        if(day >= 10 && month >= 10)
        printf("%d-%d-%d",a,month,day);
        else if(day < 10 && month >= 10)
        printf("%d-%d-0%d",a,month,day);
        else if(day >= 10 && month <10)
        printf("%d-0%d-%d",a,month,day);
        else
        printf("%d-0%d-0%d",a,month,day);
        printf("\n");
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 12:10
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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