Edisi pembelajaran bahasa Indonesia. Kode dan keluarannya tetap seperti aslinya.
Tahun kabisat dalam C
Terapkan aturan Gregorian tentang pembagian oleh 4, 100, dan 400.

Tahun Gregorian adalah kabisat jika habis dibagi 400, atau habis dibagi 4 tetapi tidak habis dibagi 100. Pengecualian untuk tahun abad berarti pemeriksaan kelipatan empat saja tidak cukup.
Gunakan sisa bagi % untuk memeriksa keterbagian dan tanda kurung untuk memperjelas kondisi. Periksa keberhasilan pembacaan tahun dan tentukan rentang masukan yang sah.
Uji 2000, 1900, 2024, dan 2023: semuanya mencakup pengecualian 400 dan 100, tahun kabisat biasa, dan tahun biasa. Jangan menerapkan aturan ini pada kalender lain tanpa penjelasan.
Kode C
#include <stdio.h>
#include <stdbool.h>
bool is_leap_year(int year) {
// Condition: (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)
if (year % 400 == 0) {
return true;
} else if (year % 100 == 0) {
return false;
} else if (year % 4 == 0) {
return true;
}
return false;
}
int main(void) {
int test_years[] = {1900, 2000, 2020, 2024, 2025, 2028, 2100};
int count = sizeof(test_years) / sizeof(test_years[0]);
printf("--- Leap Year Validation Summary ---\n");
for (int i = 0; i < count; i++) {
int yr = test_years[i];
printf("Year %d: %s\n", yr, is_leap_year(yr) ? "LEAP YEAR (366 days)" : "Common Year (365 days)");
}
return 0;
}Buka di kompilerKeluaran yang diharapkan
--- Leap Year Validation Summary --- Year 1900: Common Year (365 days) Year 2000: LEAP YEAR (366 days) Year 2020: LEAP YEAR (366 days) Year 2024: LEAP YEAR (366 days) Year 2025: Common Year (365 days) Year 2028: LEAP YEAR (366 days) Year 2100: Common Year (365 days)
Pertanyaan umum
Mengapa kode dan keluarannya tetap dalam bahasa Inggris?
Kata kunci, pengenal, dan teks yang diperiksa tes dipertahankan agar program tidak berubah. Penjelasan dan kontrol telah diterjemahkan.