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