Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình kiểm tra năm nhuận trong C


Năm nhuận có 366 ngày, năm thường 365 ngày. Kiểm tra năm cho trước có phải nhuận không.

Logic: năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100 (logic chuẩn). Tuy nhiên code ví dụ chỉ kiểm tra 400 hoặc 4, thiếu loại trừ năm chia hết 100 không chia 400. Sẽ sửa theo logic chuẩn.

Ví dụ

Đầu vào: year = 2000 -> 2000 la nam nhuan
Đầu vào: year = 101 -> 101 khong phai nam nhuan

Thuật toán

BAT DAU
B1: Hàm bool check(int year)
    NẾU year % 400 == 0 HOẶC (year % 4 == 0 VÀ year % 100 != 0)
        TRẢ VỀ true
    NGƯỢC LẠI TRẢ VỀ false
B2: main()
    year = 2000
    In kết quả check
    year = 1900
    In kết quả check
KET THUC

Ví dụ

#include <stdio.h>
#include <stdbool.h>
// Kiểm tra năm nhuận
bool check(int year) {
    // Năm nhuận: chia hết 400 HOẶC (chia hết 4 VÀ không chia hết 100)
    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
        return true;
    else
        return false;
}
int main() {
    int year = 2000;
    check(year) ? printf("%d la nam nhuan", year) : printf("%d khong phai nam nhuan", year);
    year = 1900;
    check(year) ? printf("\n%d la nam nhuan", year) : printf("\n%d khong phai nam nhuan", year);
    return 0;
}

Kết quả

2000 la nam nhuan
1900 khong phai nam nhuan