auj 172 第几天

HDU 2005

AUJ 172

题目大意

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

Sample Input

1985/1/20

2006/3/12

Sample Output

20

71

方法与总结

  • 累加
  • 判断闰年(year%4==0 && year%100!=0) || year%400==0

代码

#include<iostream>
using namespace std;

bool Check(int year)
{
    if((year%4==0 && year%100!=0) || year%400==0)
    return 1;
    else
    return 0;
}

int main()
{
    int y,m,d;
    int mon[12]={0,31,28,31,30,31,30,31,31,30,31,30};
    while(scanf("%d/%d/%d",&y,&m,&d)!=EOF)
    {
        int sum=d;
        for(int i=0;i<m;i++)
        sum+=mon[i];
        if(m>2 && Check(y))
        sum++;
        cout<<sum<<endl;
    }
    return 0;
}
/* bottom:40px 距浏览器底部距离 right:40px 距浏览器右边距离 */