题解 | #打印日期#

打印日期

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

#include <iostream>
using namespace std;

int getmonthday(int year,int month)
{
    static 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];
}
int main() {
    int y, n;
    while (cin >> y >> n) {// 注意 while 处理多个 case
       int month = 1;
       int day = 0;
       day += n;
       while(day > getmonthday(y,month))
       {
            day -= getmonthday(y,  month);
            month++;
            if(month == 13)
            {
                y++;
                month = 1;
            }
       } 
        printf("%04d-%02d-%02d\n",y,month,day);
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务