輸入年份、和這一年的第N天,最後算出這一天是這一年的幾月幾日
首先需要了解閏年的定義:能被4整除,不能被100整除。或者 能被400整除.
判斷閏年:
int isLeapyear(int year)
{
if((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0))
{
return 1;
}
else
{
return 0;
}
}
代碼實現:
int main()
{
int year = 0;
printf("input a year:");
scanf("%d",&year);
int daycount = 0;
printf("input daycount:");
scanf("%d",&daycount);
int months[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if(isLeapyear(year))
{
months[1] = 29;
}
int i = 0;
int month = 1;
int days = 0;
for(i = 0;i < 12;i++)
{
days = daycount - months[i];
if(days > 0)
{
daycount = days;
month++;
}
else
{
days = days + months[i];
}
}
printf("year:%d,month:%d,days:%d\n",year,month,days);
return 0;
}