问题:第几天
2000年的1月1日,是那一年的第1天。
那么,2000年的5月4日,是那一年的第几天?
判断平年闰年方法:
年份能被4整除同时不能被100整除或者能被400整除。
平年闰年区别:
平年有365天,即平年2月有28天;
闰年有366天,即闰年2月有29天。
#include <stdio.h>
int DaysMonth(int year,int month)
{
bool isLeapYear;
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
isLeapYear = true;
else
isLeapYear = false;
switch(month)
{
case 2:
if(isLeapYear)
return 29;
else
return 28;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
default:
return 31;
break;
}
}
int main()
{
int year,month,day;
int whichday = 0;
int i;
scanf("%d %d %d",&year,&month,&day);
if(month == 1)
{
whichday = day;
}
else
{
for(i = 1; i < month; i++)
{
whichday += DaysMonth(year,i);
}
whichday += day;
}
printf("%d年%d月%d日是这一年的第%d天",year,month,day,whichday);
return 0;
}