首页 > 代码库 > 杭电OJ 2005 2014年9月23日20:42:50

杭电OJ 2005 2014年9月23日20:42:50

第几天?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 74627    Accepted Submission(s): 28229


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

 

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

 

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

 

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

 

Sample Output
20
71
 1 #include<cstdio> 2 int main() 3 { 4     int yy,mm,dd,s[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; 5     while(scanf("%d/%d/%d",&yy,&mm,&dd)==3) 6     { 7         int day=0; 8         for(int i=1;i<mm;i++) 9         {10             day=day+s[i];11         }12         if(mm>2)if((yy%4==0)&&(yy%100!=0)||yy%400==0)day=day+1;13 14         printf("%d\n",day+dd);15     }16     return 0;17 }

 

杭电OJ 2005 2014年9月23日20:42:50