Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20 71
code:
#include<stdio.h>
int main()
{ //4,5行代码不能是:int y,m,d,i,a[13];
int y,m,d,i,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; // a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
//否则error C2059: syntax error : ‘{‘
while(scanf("%d/%d/%d",&y,&m,&d)!=EOF) //%d/%d中/不是除号!
{
int s=0; //当输入多组数据时,注意要将输出还原,如是s,a[2].
if((y%4==0)&&(y%100!=0)||(y%400==0))
a[2]=29;
for(i=0;i<m;i++)
s=s+a[i];
s=s+d;
printf("%d\n",s);
a[2]=28; //要将a[2]=28还原!
}
return 0;
}
闰年366天,平年365天,两者不同在于闰年2月29天,平年2月28天。
闰年 平年
一月: 31 31
二月: 29 28
三月: 31 31
四月: 30 30
五月: 31 31
六月: 30 30
七月: 31 31
八月: 31 31
九月: 30 30
十月: 31 31
十一月: 30 30
十二月: 31 31
第几天?