C++:输入一个整数n, 求解闰年中的第n个月有多少天 Input 一个正整数n. Output 输出一个整数, 代表闰年中的第n个月有多少天. 若n不合法,输出Invalid.(不包含双引号). Examples Input 2 Output 29
时间: 2024-12-20 22:15:17 浏览: 7
在C++中,你可以通过条件判断来确定给定月份在闰年中的天数。对于闰年的规则,如果年份可以被4整除并且不能被100整除,或者能被400整除,那么它就是闰年。闰年的二月有29天,其他月份的天数则按照常规来计算。
下面是一个简单的函数示例,用于处理这个问题:
```cpp
#include <iostream>
int getDaysInMonth(int n, int year) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) { // 判断是否是闰年
switch (n) {
case 1: // January
return 31;
case 2: // February (闰年)
return 29;
case 3: // March
return 31;
case 4: // April
return 30;
case 5: // May
return 31;
case 6: // June
return 30;
case 7: // July
return 31;
case 8: // August
return 31;
case 9: // September
return 30;
case 10: // October
return 31;
case 11: // November
return 30;
case 12: // December
return 31;
default:
return "Invalid"; // 非法月份
}
} else { // 非闰年
switch (n) {
case 1: // January
return 31;
case 2: // February
return 28;
// ... 其他月份同上
// ...
}
}
}
int main() {
int n, year;
std::cout << "Enter an integer n for the month and a year: ";
std::cin >> n >> year;
int days = getDaysInMonth(n, year);
if (days != "Invalid") {
std::cout << "Output: " << days << std::endl;
}
return 0;
}
```
阅读全文