题解 | 今年的第几天?

#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;
}

全部评论

相关推荐

09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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