从键盘上输入年月日 打印出是这年的第几天


#include<stdio.h>

int main()
{
	int y, m, d,k;
	scanf("%d%d%d",&y,&m,&d);
   
	if (y % 4 == 0)
	{
		if (m == 2 && d > 0 && d < 30)
		{
			k = 31 + d;
			printf("%d是闰年的第%d天",y,k);
		}
		else
		{
			if (m % 2 == 0&&m>0&&m<13)
			{
				if (d > 0 && d < 31&&m>2&&m<13)
				{
					k = m / 2 * 31 + (m / 2 - 2) * 30 + 29 + d;
					printf("%d是闰年的第%d天",y,k);
				}
				else if (m==2&&d>0&&d<30)
				{
					k = m / 2 * 31 + d;
					printf("%d是闰年的第%d天",y,k);
				}
				else
				{

					printf("输入格式错误");
				}

			}
			else if (m%2==1&&m>0&&m<13)
			{
				if (d > 0 && d < 32 )
				{
					k = (m - 1) / 2 * 31 + ((m - 1) / 2 - 1)*30 + 29 + d;
					printf("%d是闰年的第%d天",y,k);
				}
				else 
				{
					printf("输入格式错误");
				}
			}
			else
			{
				printf("输入的格式错误");
			}
		}

	}

	else if (y % 4 != 0)
	{
		if (m == 2 && d > 0 && d < 30)
		{
			k = 31 + d;
			printf("%d是平年的第%d天", y, k);
		}
		else
		{
			if (m % 2 == 0 && m>0 && m<13)
			{
				if (d > 0 && d < 31 && m>2 && m<13)
				{
					k = m / 2 * 31 + (m / 2 - 2) * 30 + 28 + d;
					printf("%d是平年的第%d天", y, k);
				}
				else if (m == 2 && d>0 && d<29)
				{
					k = m / 2 * 31 + d;
					printf("%d是平年的第%d天", y, k);
				}
				else
				{

					printf("输入格式错误");
				}

			}
			else if (m % 2 == 1 && m>0 && m<13)
			{
				if (d > 0 && d < 32)
				{
					k = (m - 1) / 2 * 31 + ((m - 1) / 2 - 1) * 30 + 28 + d;
					printf("%d是平年的第%d天", y, k);
				}
				else
				{
					printf("输入格式错误");
				}
			}
			else
			{
				printf("输入的格式错误");
			}
		}

	}
	else 
	{
		printf("输入格式错误");
	}

	
	while (1);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/suntingsheng123/article/details/88976955