c++输入年份和月份,输出月份有几天
时间: 2024-10-22 13:15:03 浏览: 23
在 C++ 中,为了计算给定年份和月份的天数,你需要考虑一些特殊情况,如闰年和平年的规则以及非标准月份(例如二月)。你可以创建一个函数,利用 `#include <iostream>` 和 `#include <ctime>` 来实现这个功能:
```cpp
#include <iostream>
#include <ctime>
int days_in_month(int year, int month) {
// 检查输入是否合法
if (month < 1 || month > 12 || year <= 0) {
std::cout << "Invalid input! Month should be between 1 and 12 and year must be positive.\n";
return -1;
}
switch (month) {
case 2: // 判断闰年
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
return 29; // 闰年2月有29天
} else {
return 28; // 平年2月有28天
}
case 4:
case 6:
case 9:
case 11: // 这些都是30天的月份
return 30;
default: // 一月、三月、五月、七月、八月、十月、十二月是31天
return 31;
}
}
int main() {
int year, month;
std::cout << "Enter a year: ";
std::cin >> year;
std::cout << "Enter a month: ";
std::cin >> month;
int days = days_in_month(year, month);
if (days != -1) {
std::cout << "Month " << month << " in " << year << " has " << days << " days.\n";
}
return 0;
}
```
阅读全文