一、闰年定义
闰年指公历年份中,除以4余数为0且除以100余数不为0,或者除以400余数为0的年份。
二、判断闰年方法
1、通过if语句进行判断
bool isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return true;
}
else {
return false;
}
}
2、利用三目运算符进行判断
bool isLeapYear(int year) {
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? true : false;
}
3、利用位运算进行判断
bool isLeapYear(int year) {
return !(year & 3) && (year % 100 || !(year % 400)); //等同于(year%4==0 && year%100!=0) || (year%400==0)
}
三、错误示例
下面代码的判断条件有误,不能正确判断闰年:
bool isLeapYear(int year) {
if (year % 4 == 0) {
return true;
}
else {
return false;
}
}
该段代码不能正确判断闰年,因为2000年就是闰年,但使用该代码判断会返回false。
四、完整代码
#include <iostream>
using namespace std;
bool isLeapYear(int year) {
return !(year & 3) && (year % 100 || !(year % 400));
}
int main() {
int year;
cout <> year;
if (isLeapYear(year)) {
cout << year << "年是闰年" << endl;
}
else {
cout << year << "年不是闰年" << endl;
}
return 0;
}
以上代码输入一个年份,利用判断函数判断该年份是否是闰年,并输出结果。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/277067.html
微信扫一扫
支付宝扫一扫