Deutsche Lernausgabe
Schaltjahre in C
Wenden Sie die gregorianische Teilbarkeitsregel für 4, 100 und 400 an.

Ein gregorianisches Jahr ist ein Schaltjahr, wenn es durch 400 teilbar ist oder durch 4, aber nicht durch 100. Wegen der Jahrhundertausnahme genügt es nicht, nur Vielfache von vier zu prüfen.
Verwenden Sie den Restoperator % und Klammern für eine klare Bedingung. Prüfen Sie die Eingabe und legen Sie den erlaubten Jahresbereich fest.
Testen Sie 2000, 1900, 2024 und 2023: Sie decken die Ausnahmen für 400 und 100, ein gewöhnliches Schaltjahr und ein normales Jahr ab. Die Regel gilt nicht ohne Weiteres für alle Kalender.
Quellcode
#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;
}Im Compiler öffnenErwartetes Ergebnis
--- 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)
Häufige Fragen
Warum bleiben Code und manche Ausgaben englisch?
C-Schlüsselwörter, Bezeichner, Programmkommentare und erwartete Ausgaben bleiben wie im Original, damit der Code ausführbar und die Tests konsistent bleiben. Erklärungen und Aufgabenstellungen sind übersetzt.