C++判断闰年
一、闰年定义
闰年指公历年份中,除以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
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。