cjweffort

博客园 首页 联系 订阅 管理

http://ac.jobdu.com/problem.php?cid=1040&pid=7

题目描述:

输入年、月、日,计算该天是本年的第几天。

输入:

包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。

输出:
输入可能有多组测试数据,对于每一组测试数据,
输出一个整数,代表Input中的年、月、日对应本年的第几天。
样例输入:
1990 9 20
2000 5 1
样例输出:
263
122

#include<stdio.h>
 
int Runyear(int yy)
{
    if(yy%4==0&&(yy%100!=0||yy%400==0))
        return 1;
    return 0;
}
 
int Count(int yy,int mm,int dd)
{
    int sum=0;
    if(mm>1)
        sum+=31;
    if(mm>2)
        if(Runyear(yy))
            sum+=29;
        else
            sum+=28;
    if(mm>3)
        sum+=31;
    if(mm>4)
        sum+=30;
    if(mm>5)
        sum+=31;
    if(mm>6)
        sum+=30;
    if(mm>7)
        sum+=31;
    if(mm>8)
        sum+=31;
    if(mm>9)
        sum+=30;
    if(mm>10)
        sum+=31;
    if(mm>11)
        sum+=30;
    sum+=dd;
    return sum;
}
 
int main()
{
    int yy,mm,dd;
    while(scanf("%d%d%d",&yy,&mm,&dd)==3)
        printf("%d\n",Count(yy,mm,dd));
    return 0;
}


posted on 2013-03-02 11:22  cjweffort  阅读(162)  评论(0)    收藏  举报