题解 | #今年的第几天?#

今年的第几天?

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

注意!只有月份大于2 或 日期为2.29 时 需要判断是否是闰年

  1. 创建月份数组,保存每个月有多少天;
  2. 判断是否是闰年,如果是则run=1,否则run=0;
  3. 循环i,计算从1月~month-1月一共有多少天,再加上day和run的值,就是所求的值。
#include <iostream>
using namespace std;
int mon[12]= {31,28,31,30,31,30,31,31,30,31,30,31};

int main() {
    int year, month, day;
    while (cin >> year >> month >> day) { // 注意 while 处理多个 case
        //判断是否是闰年
        int run = 0;
        if (month > 2 || month == 2 && day == 29)
            if (year % 4 == 0 && year % 100 != 0 || year %400 == 0)
                run = 1;

        for (int i = 0; i < month-1; i++){
            day += mon[i];
        }
        cout << day+run << endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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