题解 | #打印日期#打印日期简单思路解法

打印日期

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

#include <iostream>
using namespace std;
//判断闰年的函数
bool IsLeapYear(int year)
{
    return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}


int main() {
    int year, day;
    while (cin >> year >> day) { // 注意 while 处理多个 case
	  //month初始定义为1,并给出每个月日期的数组
        int month = 1;
        int monthday[13] = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
	  //若是闰年monthday[2]++
        if(IsLeapYear(year))
        {
            monthday[2]++;
        }
	  //使用输入的天数加去每月的天数,然后month++
	  //循环结束后剩下的day就是加完后的日期,month就是加完后的月
        while(day > monthday[month])
        {
            day -= monthday[month];
            month++;
        }

        printf("%04d-%02d-%02d\n",year, month, day);
        
    }
}
// 64 位输出请用 printf("%lld")

#日期转换问题##日期累加#
全部评论

相关推荐

01-13 16:55
已编辑
大连理工大学 运营
点赞 评论 收藏
分享
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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