C语言给出年月日判断该日第几天

       首先来判断是否为闰年(365与366之分),然后在判断月份,加上之前月份的天数,再加上日数即为本年第几天。

#include 
#include 
int main()
{
	int YearMonthDay();
	YearMonthDay();
	return 0;
}
int YearMonthDay()
{
	printf("请输入年、月、日:");
	int a, b, c, i, t=0, m[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }, n[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
	scanf("%d %d %d", &a, &b, &c);
	if (a % 400 == 0 || a % 4 == 0 && a % 100 != 0)
	{
		for (i = 0; i < 12; i++)
		{
			if ((b-1) != i)
				t = t+n[i];	
			else
				break;
		}
	}
	else
	{
		for (i = 0; i < 12; i++)
		{
			if ((b-1) != i)
				t = t + m[i];
			else
				break;
		}
	}
	printf("改天是%d年的第%d天。\n", a, t + c);
}

你可能感兴趣的:(C语言,c语言,算法,数据结构,visualstudio,编辑器)