文章

19

粉丝

0

获赞

125

访问

3.0k

头像
日期计算 题解:
P1051 中南大学机试题
发布于2025年3月1日 20:43
阅读数 224

#include <bits/stdc++.h>
using namespace std;

int month[15] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int rmonth[15] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
string weeks[10] = {"0", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

bool isLeapYear(int year) { // 判闰年
	return((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}

int main() {
	int y, m, d;
	
	while(cin >> y >> m >> d) { 
		if(y < 0 || (m > 12 || m < 1) || (d < 0 || d > month[m] )) { // 判边界情况
			cout << "Input error!" <<endl;
			continue;
		}
		int sum = d;
		for(int i = 0; i < m; i++) {
			if(isLeapYear(y)) {
				sum += rmonth[i];
			} else {
				sum += month[i];
			}
		}
			cout << sum << endl;
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发