第几天?
时间限制: 1000ms内存限制:
32768KBHDU ID: 2005
64位整型: Java 类名:
上一题 提交 运行结果 统计 讨论版 下一题
题目描述
给定一个日期,输出这个日期是该年的第几天。
输入
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
输出
对于每组输入数据,输出一行,表示该日期是该年的第几天。
样例输入
1985/1/20
2006/3/12
样例输出
20
71
#include<stdio.h>
int main()
{
int y,m,d,sum,leapr;
while(scanf("%d/%d/%d",&y,&m,&d)!=EOF)
{
switch(m)
{
case 1:
sum=0;
break;
case 2:
sum=31;
break;
case 3:
sum=59;
break;
case 4:
sum=90;
break;
case 5:
sum=120;
break;
case 6:
sum=151;
break;
case 7:
sum=181;
break;
case 8:
sum=212;
break;
case 9:
sum=243;
break;
case 10:
sum=273;
break;
case 11:
sum=304;
break;
case 12:
sum=334;
break;
}
sum=sum+d;
if((y%4==0&&y%100!=0)||(y%400==0))
leap=1;
else
leap=0;
if(leap==1&&m>2)
sum++;
printf("%d\n",sum);
}
return 0;
}