---
# System prepended metadata

title: 11-6 判斷閏年
tags: [DICE C]

---

---
tags: DICE C
---

11-6 判斷閏年
===

> [name=CHAWTeam]

---

目錄：[DICE C語言程式破解](https://hackmd.io/@CHAWTeam/DiceC)

---

題目
---

```!
閏年是比普通年份多出一段時間的年份，在各種曆法中都有出現，
目的是為了彌補人為規定的紀年與地球公轉產生的差異。

目前使用的格里曆閏年規則如下：

1.西元年份除以4不可整除，為平年。
2.西元年份除以4可整除，且除以100不可整除，為閏年。
3.西元年份除以100可整除，且除以400不可整除，為平年。
4.西元年份除以400可整除，為閏年。
（優先順序：4>3>2）

寫一個程式，根據輸入的西元年分（正整數），判斷後輸出「平年」或「閏年」。

因為此題輸出有多種狀況，故需將程式碼複製5次，都判斷正確才給分，每個輸出都要換行。

輸入範例:
2019
2020
2100
2400
1999

輸出範例:
平年
閏年
平年
閏年
平年
```

程式碼
---

```c=
#include <stdio.h>

int main()
{
    int leap;
    int year;
    
    scanf("%d", &year);
    
    if (0 == year % 4)
    {
        if (0 != year % 100)
            leap = 1;
        else
        {
            if (0 == year % 400)
                leap = 1;
            else
                leap = 0;
        }
    }
    else
        leap = 0;
    
    if (0 == leap)
        printf("平年\n");
    else
        printf("閏年\n");
    
    
    scanf("%d", &year);
    
    if (0 == year % 4)
    {
        if (0 != year % 100)
            leap = 1;
        else
        {
            if (0 == year % 400)
                leap = 1;
            else
                leap = 0;
        }
    }
    else
        leap = 0;
    
    if (0 == leap)
        printf("平年\n");
    else
        printf("閏年\n");
    
    scanf("%d", &year);
    
    if (0 == year % 4)
    {
        if (0 != year % 100)
            leap = 1;
        else
        {
            if (0 == year % 400)
                leap = 1;
            else
                leap = 0;
        }
    }
    else
        leap = 0;
    
    if (0 == leap)
        printf("平年\n");
    else
        printf("閏年\n");
    
    scanf("%d", &year);
    
    if (0 == year % 4)
    {
        if (0 != year % 100)
            leap = 1;
        else
        {
            if (0 == year % 400)
                leap = 1;
            else
                leap = 0;
        }
    }
    else
        leap = 0;
    
    if (0 == leap)
        printf("平年\n");
    else
        printf("閏年\n");
    
    scanf("%d", &year);
    
    if (0 == year % 4)
    {
        if (0 != year % 100)
            leap = 1;
        else
        {
            if (0 == year % 400)
                leap = 1;
            else
                leap = 0;
        }
    }
    else
        leap = 0;
    
    if (0 == leap)
        printf("平年\n");
    else
        printf("閏年\n");
    
    return 0;
}
```

輸出
---

```!
2019
平年
2020
閏年
2100
平年
2400
閏年
1999
平年
```

---

[查看我們在HackMD上的所有筆記](https://hackmd.io/@CHAWTeam)
目錄：[DICE C語言程式破解](https://hackmd.io/@CHAWTeam/DiceC)

---

{%hackmd Iiu5mOixR7yWkPHKCkabBg %}
<iframe class="LikeCoin" height="235" src="https://button.like.co/in/embed/chawteam/button?referrer=https://hackmd.io/@CHAWTeam/DiceC-11-6" width="100%"></iframe>

---

{%hackmd i1nMRrZcTFmTvoF897K9zg %}