1160: 6001 第几天?

题目描述

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

输入

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

输出

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

样例输入 复制

1985/1/20
2006/3/12

样例输出  复制

20
71

纯纯暴力破解版 

#include
using namespace std;
int run(int n)
{
    if(n%4!=0||(n%100==0&&n%400!=0))
    return 0;
    else
    return 1;
}
int main()
{
    int y;int m;int d;
    while(scanf("%d/%d/%d",&y,&m,&d)!=EOF)
    {
        //31天的月份1 3 5 7 8 10 12
        //30天的月份4 6 9 11
        int sum = 0;
        int flag = run(y);
        //说明是闰年 闰年2月29天 平年28天
        if(flag == 1)
        {
            if(m<2)
            {
                sum = d;
            }
            if(m>=2)
            {
                if(m == 2)
                sum = d+31;
                if(m == 3)
                sum = d+31+29;
                if(m == 4)
                sum = d+31+29+31;
                if(m == 5)
                sum = d+31+29+31+30;
                if(m == 6)
                sum = d+31+29+31+30+31;
                if(m == 7)
                sum = d+31+29+31+30+31+30;
                if(m == 8)
                sum = d+31+29+31+30+31+30+31;
                if(m == 9)
                sum = d+31+29+31+30+31+30+31+31;
                if(m == 10)
                sum = d+31+29+31+30+31+30+31+31+30;
                if(m == 11)
                sum = d+31+29+31+30+31+30+31+31+30+31;
                if(m == 12)
                sum = d+31+29+31+30+31+30+31+31+30+31+30;
            }
        }
        //说明不是闰年
        else
        {
                if(m == 1)
                sum = d;
                if(m == 2)
                sum = d+31;
                if(m == 3)
                sum = d+31+28;
                if(m == 4)
                sum = d+31+28+31;
                if(m == 5)
                sum = d+31+28+31+30;
                if(m == 6)
                sum = d+31+28+31+30+31;
                if(m == 7)
                sum = d+31+28+31+30+31+30;
                if(m == 8)
                sum = d+31+28+31+30+31+30+31;
                if(m == 9)
                sum = d+31+28+31+30+31+30+31+31;
                if(m == 10)
                sum = d+31+28+31+30+31+30+31+31+30;
                if(m == 11)
                sum = d+31+28+31+30+31+30+31+31+30+31;
                if(m == 12)
                sum = d+31+28+31+30+31+30+31+31+30+31+30;
        }
        printf("%d\n",sum);
    }
}

 

你可能感兴趣的:(NENU算法课,算法)