Năm nhuận chứa một ngày thêm vào để giữ năm lịch đồng bộ với năm thiên văn.
Năm chia hết cho 4 là năm nhuận. Tuy nhiên, năm chia hết cho 100 không phải năm nhuận, trừ khi nó cũng chia hết cho 400.
Chương trình kiểm tra năm nhuận:
Ví dụ 1: Dùng toán tử logic
#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;
}Đầu ra
2016 is a leap year
Trong chương trình trên, nếu năm chia hết cho 4 và không chia hết cho 100, thì là năm nhuận. Cũng nếu năm chia hết cho 400, cũng là năm nhuận.
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
cout << year << " is a leap year";
else
cout << year << " is not a leap year";Ví dụ 2: Dùng câu lệnh if lồng nhau
#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;
}Đầu ra
2020 is a leap year
Trong chương trình này, nếu năm chia hết cho 4, kiểm tra tiếp chia hết cho 100. Nếu chia hết cho 100, kiểm tra chia hết cho 400. Nếu có, là năm nhuận, ngược lại không. Nếu không chia hết cho 100, là năm nhuận. Nếu không chia hết cho 4, không phải năm nhuận.
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";