题解 | 今年的第几天?
#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 year,month,day; while(cin>>year>>month>>day){ int j=0,ans=0; if(isLeapYear(year))j=1; for(int i=0;i<month;i++){ ans+=date[j][i]; } cout<<ans+day<<endl; } }
经典模拟问题