#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")
使用数组存储每月的天数,判断是否是闰年,更换二月的天数,然后相加即可。