P5711 刷題記錄

題面地址:P5711
這道題目是分支結構題單練習中的一題,我們先來看看閏年的判定規律:

普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年);
世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年);
(引用自[百度百科](https://baike.baidu.com/item/%E9%97%B0%E5%B9%B4/27098))

所以就很明確了,我們首先需要判斷這個年份是不是世紀年份,再根據是否是世紀年份,採用不同的規則來輸出結果。
先看看世紀年份的判斷吧:

int year;
scanf("%d", &year);
int whole_hundred = (year % 100 == 0);

這樣就可判斷出是否是世紀年份了,根據取餘運算得到的餘數是否爲0就可以判斷是不是100的倍數。具體判斷只需要再寫個if分支再使用同樣方法判定就好了。

具體代碼如下:(C++)

#include <stdio.h>

int main() {
    int year = 0;
    scanf("%d", &year);
    int whole_hundred = (year % 100 == 0);
    int leap = 0;
    if(whole_hundred) leap = (year % 400 == 0);
    if(!whole_hundred) leap = (year % 4 == 0);
    printf("%d", leap);

    return 0;
}
上一篇:shell脚本判断闰年


下一篇:pytest 参数化