原文: https://www.programiz.com/c-programming/examples/leap-year

在此示例中,您将学习检查用户输入的年份是否为闰年。

要理解此示例,您应该了解以下 C 编程主题:


除世纪年份(以 00 结尾的年份)外,闰年可精确地除以 4。 只有将世纪完全除以 400,世纪年才是闰年。

例如,

  • 1999 年不是闰年
  • 2000 年是闰年
  • 2004 年是闰年

检查闰年的程序

  1. #include <stdio.h>
  2. int main() {
  3. int year;
  4. printf("Enter a year: ");
  5. scanf("%d", &year);
  6. // leap year if perfectly visible by 400
  7. if (year % 400 == 0) {
  8. printf("%d is a leap year.", year);
  9. }
  10. // not a leap year if visible by 100
  11. // but not divisible by 400
  12. else if (year % 100 == 0) {
  13. printf("%d is not a leap year.", year);
  14. }
  15. // leap year if not divisible by 100
  16. // but divisible by 4
  17. else if (year % 4 == 0) {
  18. printf("%d is a leap year.", year);
  19. }
  20. // all other years are not leap year
  21. else {
  22. printf("%d is not a leap year.", year);
  23. }
  24. return 0;
  25. }

输出 1

  1. Enter a year: 1900
  2. 1900 is not a leap year.

输出 2

  1. Enter a year: 2012
  2. 2012 is a leap year.