题解 | 计算天数

#include <bits/stdc++.h>
using namespace std;

int date[2][13] = {
    {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};

bool isLeapYear(int year){
    return (year%4==0&&year%100!=0)||year%400==0;
}

int main() {
    int n;
    while (cin >> n) {
        while (n--) {
            int year, month, day,k=0;
            cin >> year >> month >> day;
            if(isLeapYear(year))k=1;
            for(int i=1;i<month;i++){
                day+=date[k][i];
            }
            cout<<day<<endl;
        }
    }
}

经典题目,唯一难度在于leapyear判定,但是也在注释介绍了

全部评论

相关推荐

Aaso:挺好的,早挂早超生
点赞 评论 收藏
分享
一天代码十万三:这都不能算简历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务