Problem E: 第几天

版权声明: https://blog.csdn.net/t_jeey/article/details/79519022

Problem E: 第几天

Time Limit: 1 Sec  Memory Limit: 64 MB

Description

给定一个日期,输出这个日期是该年的第几天。

Input

输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output

对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input

2000-01-01

Sample Output

1

HINT

参考答案:

#include<stdio.h>
int main()
{
	int year,month,day;
	int c;
	scanf("%d-%d-%d",&year,&month,&day);
	switch(month)
	{
	case 1:
		c=day;
		break;
	case 2:
			c=31+day;
			break;
	case 3:
		{c=31+day;
		break;}
	case 4:
		c=31*2+day;
		break;
	case 5:
		c=31*2+30+day;
		break;
	case 6:
		c=31*3+30+day;
		break;
	case 7:
		c=31*3+30*2+day;
		break;
	case 8:
		c=31*4+30*2+day;
		break;
	case 9:
		c=31*4+30*3+day;
		break;
	case 10:
		c=31*5+30*3+day;
		break;
	case 11:
		c=31*5+30*4+day;
		break;
	case 12:
		c=31*6+30*4+day;
		break;
	}
	if(month==1||month==2)
		printf("%d",c);
	else if(year%4==0&&year%100!=0||year%400==0)
			printf("%d",c+29);
		 else
			printf("%d",c+28);
		
	return 0;
}

编程软件及学习视频下载:点击打开链接


猜你喜欢

转载自blog.csdn.net/t_jeey/article/details/79519022