c++给定年份,求解其是否是闰年
时间: 2024-09-13 11:13:56 浏览: 66
在C++中,判断一个年份是否是闰年,可以遵循以下规则:
1. 如果年份能被4整除但不能被100整除,则是闰年。
2. 如果年份能被400整除,则也是闰年。
基于这些规则,我们可以编写一个简单的C++程序来判断给定的年份是否是闰年。以下是一个示例代码:
```cpp
#include <iostream>
using namespace std;
bool isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
return true; // 是闰年
else
return false; // 不是闰年
}
int main() {
int year;
cout << "请输入一个年份: ";
cin >> year;
if (isLeapYear(year)) {
cout << year << " 是闰年。" << endl;
} else {
cout << year << " 不是闰年。" << endl;
}
return 0;
}
```
这段代码首先定义了一个函数`isLeapYear`,它接收一个整数参数`year`,并返回一个布尔值表示该年份是否是闰年。在`main`函数中,程序提示用户输入一个年份,然后调用`isLeapYear`函数来判断输入的年份是否是闰年,并输出相应的信息。
相关问题
C++:输入一个整数n, 求解闰年中的第n个月有多少天 Input 一个正整数n. Output 输出一个整数, 代表闰年中的第n个月有多少天. 若n不合法,输出Invalid.(不包含双引号). Examples Input 2 Output 29
在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;
}
```
阅读全文