【C++练习】09.C++判断闰年的方法
·
目录
- C++判断闰年的方法
-
- 方法一:标准条件判断
- 方法二:简化逻辑表达式
- 方法三:使用三元运算符
- 方法四:使用位运算优化
- 方法五:使用标准库(C++20及以上)
-
- 使用方法示例
- 闰年的判断规则:
C++判断闰年的方法
在C++中,判断一个年份是否为闰年有几种常见的方法。
方法一:标准条件判断
bool isLeapYear(int year) {
if (year % 4 != 0) {
return false;
} else if (year % 100 != 0) {
return true;
} else if (year % 400 != 0) {
return false;
} else {
return true;
}
}
方法二:简化逻辑表达式
bool isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
方法三:使用三元运算符
bool isLeapYear(int year) {
return (year % 400 == 0) ? true :
(year % 100 == 0) ? false :
(year % 4 == 0) ? true : false;
}
方法四:使用位运算优化
bool isLeapYear(int year) {
return ((year & 3) == 0 && ((year % 25) != 0 || (year & 15) == 0));
}
方法五:使用标准库(C++20及以上)
#include <chrono>
bool isLeapYear(int year) {
return std::chrono::year{year}.is_leap();
}
使用方法示例
#include <iostream>
int main() {
int year;
std::cout << "请输入年份: ";
std::cin >> year;
if (isLeapYear(year)) {
std::cout << year << "年是闰年" << std::endl;
} else {
std::cout << year << "年不是闰年" << std::endl;
}
return 0;
}
闰年的判断规则:
- 能被4整除但不能被100整除,或者
- 能被400整除
以上方法都遵循这一规则,只是实现方式不同。在实际应用中,方法二(简化逻辑表达式)是最常用且易于理解的实现方式。
更多推荐


所有评论(0)