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 << year << "年是閏年" << endl;
         }
         else {
             cout << year << "年不是閏年" << endl;
         }
         return 0;
     }

以上代碼輸入一個年份,利用判斷函數判斷該年份是否是閏年,並輸出結果。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277067.html

相關推薦

  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29
  • 金額選擇性序列化

    本文將從多個方面對金額選擇性序列化進行詳細闡述,包括其定義、使用場景、實現方法等。 一、定義 金額選擇性序列化指根據傳入的金額值,選擇是否進行序列化,以達到減少數據傳輸的目的。在實…

    編程 2025-04-29