您的位置:首页 > 其它

2005 杭电 第几天?

2015-02-02 18:06 162 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: