美文网首页
ACM训练1.3

ACM训练1.3

作者: 九九询 | 来源:发表于2018-12-11 18:38 被阅读0次

    J - Problem J

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

    Input

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

    Output

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

    Sample Input

    1985/1/20
    2006/3/12

    Sample Output

    20
    71

    程序分析

    此程序中,输入格式中‘/’可定义一个字符型变量,输入时输入即可。另外程序中需能判断输入是否为闰年(闰年二月29天,平年二月28天)。

    AC程序如下:

    //hdu-2005
    #include<iostream>
    using namespace std;
    int main()
    {
        int m1[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
        int m2[13] = { 0, 31,29,31,30,31,30,31,31,30,31,30,31 };
        int year, month, day; 
        char d, f;
        while (cin >> year >> d >> month >> f >> day)
        {int days1 = 0, days2 = 0;
            for (int i = 0; i < month; i++)
            {
                days1 += m1[i];
            }
            for (int i = 0; i < month; i++)
            {
                days2 += m2[i];
            }
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
                cout << days2 + day << endl;
            else cout << days1 + day << endl;
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:ACM训练1.3

          本文链接:https://www.haomeiwen.com/subject/uzbehqtx.html