# C 程序：检查闰年

> 原文： [https://www.programiz.com/c-programming/examples/leap-year](https://www.programiz.com/c-programming/examples/leap-year)

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

要理解此示例，您应该了解以下 [C 编程](/c-programming "C tutorial")主题：

*   [C 编程运算符](/c-programming/c-operators)
*   [C `if...else`语句](/c-programming/c-if-else-statement)

* * *

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

例如，

*   1999 年不是闰年
*   2000 年是闰年
*   2004 年是闰年

* * *

## 检查闰年的程序

```c
#include <stdio.h>
int main() {
   int year;
   printf("Enter a year: ");
   scanf("%d", &year);

   // leap year if perfectly visible by 400
   if (year % 400 == 0) {
      printf("%d is a leap year.", year);
   }
   // not a leap year if visible by 100
   // but not divisible by 400
   else if (year % 100 == 0) {
      printf("%d is not a leap year.", year);
   }
   // leap year if not divisible by 100
   // but divisible by 4
   else if (year % 4 == 0) {
      printf("%d is a leap year.", year);
   }
   // all other years are not leap year
   else {
      printf("%d is not a leap year.", year);
   }

   return 0;
}
```

**输出 1**

```c
Enter a year: 1900
1900 is not a leap year. 
```

**输出 2**

```c
Enter a year: 2012
2012 is a leap year. 
```