题解 | 今年的第几天?
#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;
}
}
经典模拟问题