第几天?

来源:互联网 发布:晋业通软件官网 编辑:程序博客网 时间:2024/04/29 01:46

第几天?

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


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

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

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

Sample Input
1985/1/202006/3/12

Sample Output
2071

Author
lcy


源代码:

#include <stdio.h>
#include <stdlib.h>


int Day(int month,int day)
{
switch(month)
{
    case 1 :   day=day    ;             break;
    case 2 :   day=day+31 ;          break;
    case 3 :   day=day+59 ;          break;
    case 4 :   day=day+90 ;          break;
    case 5 :   day=day+120;         break;
    case 6 :   day=day+151;         break;
    case 7 :   day=day+181;         break;
    case 8 :   day=day+212;         break;
    case 9 :   day=day+243;         break;
    case 10:   day=day+273;        break;
    case 11:   day=day+304;        break;
case 12:   day=day+334;        break;
}
return (day);
}

int main()
{
int year,month,day,days;
while(~scanf("%d/%d/%d",&year,&month,&day))
{
          days=Day(month,day);
 if(((year%4==0 && year%100!=0)||(year%400==0))&&month>=3)
     days+=1;
 printf("%d\n",days);                                          
   }

return 0;
}

0 0