题解 | #今年的第几天?#
今年的第几天?
https://www.nowcoder.com/practice/ae7e58fe24b14d1386e13e7d70eaf04d
#include <iostream>
using namespace std;
const int daytab[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}
};
int isLeapYear(int year)
{
if((year%4==0&&year%100!=0)||year%400==0)return 1;
else return 0;
}
int main() {
int year, month,day;
//for(int i=0;i<=12;i++)cout<<daytab[0][i]<<" ";
//cout<<endl;
while (cin >> year >> month>>day) { // 注意 while 处理多个 case
int index=isLeapYear(year);
int sum=0;
for(int i=0;i<month;i++)
{
//cout<<"test"<<endl;
sum+=daytab[index][i];
//cout<<sum<<endl;
}
sum+=day;
cout<<sum<<endl;
}
}
// 64 位输出请用 printf("%lld")