2005 杭电 第几天?

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

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

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

Sample Input
   
   
   
   
1985/1/20 2006/3/12

Sample Output
   
   
   
   
20 71

#include<stdio.h>
int main()
{
	int a[]={31,28,31,30,31,30,31,31,30,31,30,31};
	int y,m,d,i;
	while(~scanf("%d/%d/%d",&y,&m,&d))
	{
		int s=d;
		a[1]=28;   //一定要加,这个很容易忽略,我就是这样,错了几次不知道哪错了,,就是仔细 
		if((y%4==0&&y%100!=0)||y%400==0)
		{
			a[1]++;
		}
		for(i=0;i<m-1;++i)
		{
			s+=a[i];
		}
		printf("%d\n",s);
	}
	return 0;
}


 

你可能感兴趣的:(2005 杭电 第几天?)