题解 | 今年的第几天?

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main() {
    int y, m, d;

    while (cin >> y >> m >> d) {
        bool flag = false;// 用于标记是否为闰年
        // 先判断是否为闰年
        if ((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0))
            flag = true;
        int sum = 0;
        switch (m - 1) {  // 累加前 m - 1个月的所有天数
            case 11:
                sum += 30;
            case 10:
                sum += 31;
            case 9:
                sum += 30;
            case 8:
                sum += 31;
            case 7:
                sum += 31;
            case 6:
                sum += 30;
            case 5:
                sum += 31;
            case 4:
                sum += 30;
            case 3:
                sum += 31;
            case 2:
                if (flag)
                    sum += 29;
                else
                    sum += 28;
            case 1:
                sum += 31;
        }
        sum += d;   // 最后在加上本月天数
        cout << sum << endl;
        sum = 0;
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
墨西哥大灰狼:如果你的校友卤馆还在的话,他肯定会给你建议的,可是卤馆注销了@ 程序员卤馆
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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