Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ ตรวจสอบปีอธิกสุรทิน (Leap Year)


ปีอธิกสุรทิน (Leap Year) มีวันที่มากกว่าปีปกติ 1 วัน (วันที่ 29 กุมภาพันธ์) เพื่อให้ปีปฏิทินสอดคล้องกับปีดาราศาสตร์

กฎการตรวจสอบ:

  • ปีที่หารด้วย 4 ลงตัว เป็นปีอธิกสุรทิน
  • แต่ปีที่หารด้วย 100 ลงตัว ไม่ใช่ ปีอธิกสุรทิน
  • ยกเว้นปีที่หารด้วย 400 ลงตัว เป็น ปีอธิกสุรทิน

วิธีที่ 1: ใช้เงื่อนไขรวม (Single if-else)

#include <iostream>
using namespace std;

int main() {
    int year = 2016;
    if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
        cout << year << " is a leap year";
    else
        cout << year << " is not a leap year";
    return 0;
}

ผลลัพธ์

2016 is a leap year

วิธีที่ 2: ใช้ Nested if-else

#include <iostream>
using namespace std;

int main() {
    int year = 2020;
    if (year % 4 == 0) {
        if (year % 100 == 0) {
            if (year % 400 == 0)
                cout << year << " is a leap year";
            else
                cout << year << " is not a leap year";
        } else
            cout << year << " is a leap year";
    } else
        cout << year << " is not a leap year";
    return 0;
}

ผลลัพธ์

2020 is a leap year

วิธีนี้ตรวจสอบทีละขั้นตอน: หาร 4 ลงตัว → ตรวจสอบ 100 → ถ้าหาร 100 ลงตัว ตรวจสอบ 400