艳阳里纷飞 提交的代码
提交时间:2022年6月27日 08:27 语言:C++运行时间:0ms占用内存:253K
运行状态: Wrong Answer
题目:日期计算1051

大会员可查看代码,点此开通大会员

                
                    # include<iostream>
using namespace std;

class Time {
public:
    int day;
    int month;
    int year;
};

int D1[13] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int D2[13] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

int main() {
    Time time;

    while (cin >> time.year >> time.month >> time.day) {
        bool valid = true;
        bool leap = false;
		if (time.year < 0) {
			valid = false;
		}
        if ((time.year % 4==0)&&(time.year%100!=0)) {
            leap = true;
        }
        if (time.month > 12 || time.month < 1) {
            valid = false;
        }
        if ( ((!leap && time.day > D1[time.month]) && (leap && time.day > D2[time.month]) || time.day < 1)) {
            valid = false;
        } 
        if (valid) {
            int ans = time.day;
            for (int i = 1; i < time.month; i++) {
                if (leap) {
                    ans += D2[i];
                }
                else {
                    ans += D1[i];
                }
            }
            cout << ans << endl;
        }
        else {
            cout << "Input error!" << endl;
        }


    }

    return 0;
}
                
                
输入数据

大会员可查看数据,点此开通大会员

1985 1 20
2006 3 12
2007 12 23
253 3 2
0 -9 9
2007 2 29
2003 2 3
你的输出
正确输出

大会员可查看数据,点此开通大会员

20
71
357
61
Input error!
Input error!
34