#include <iostream>
using namespace std;

int a[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int main() {
    int x,y,z;cin>>x>>y>>z;
    int ok = 0;
    if(x%4==0&&x%100!=0||x%400==0){
        ok = 1;
        a[2] = 29;
    }
    if(ok){
        int sum = 0;
        for(int i = 1;i<=y-1;i++){
            sum+=a[i];
        }
        cout<<sum+z<<'\n';
    }
    else{
        int sum = 0;
        for(int i = 1;i<=y-1;i++){
            sum+=a[i];
        }
        cout<<sum+z<<'\n';
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

使用数组存储每月的天数,判断是否是闰年,更换二月的天数,然后相加即可。

活动地址https://www.nowcoder.com/discuss/726480854079250432