輸入年份、和這一年的第N天,最後算出這一天是這一年的幾月幾日。(區分閏年).C語言

輸入年份、和這一年的第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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章