HDOJ 2005-第几天?

来源:互联网 发布:学琵琶怎么找老师知乎 编辑:程序博客网 时间:2024/06/04 18:59

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 month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};   //保存每个月的天数,二月下面单独考虑    int nian,yue,ri;    while(scanf("%d/%d/%d",&nian,&yue,&ri)!=EOF)    {        month[2]=28;        if(nian%400==0)            month[2]=29;        else if(nian%4==0&&nian%100!=0)            month[2]=29;   //判断今年是不是闰年 然后确定二月的天数        int day=0;        for(int i=1;i<yue;i++)   //从第一个月加到该月的前一个月        {            day+=month[i];        }        day+=ri;   //再加上该月的天数        printf("%d\n",day);    }    return 0;}
0 0
原创粉丝点击