C语言 是否闰年?

题目描述
给年份year,判别该年份是否闰年。一个年份如果是4的倍数但不是100的倍数,或这个年份是400的倍数,则这个年份为闰年。
输入
一个年份
输出
根据是否闰年输出,是输出"L",否输出"N"
样例输入 Copy
2000
样例输出 Copy
L

根据题目给出的条件进行判断即可。

分析:

根据题意,满足闰年的有两个条件:

    一个年份如果是4的倍数但不是100的倍数。这个条件又分成两个部分,第一部分是年份是4的倍数,第二部分是年份不是100的倍数。即两个部分需同时满足才是闰年。

    这个年份是400的倍数。

第一个条件可以写成:

year % 4 == 0 && year % 100 != 0

year % 4是求year除以4的余数,只要year是4的倍数,那么余数肯定为0。

同理year不是100的倍数,即year除以100的余数不为0。

因为需要同时满足,所以用&&运算符连接这两个部分。

第二个条件可以写成:

year % 400 == 0

因为第一个条件和第二个条件任意满足一个条件皆是闰年,所以用||运算符连接起来。

源码

答案:

#include <stdio.h>

int main()

{

    int year;

    scanf("%d", &year);

    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

        printf("L");

    else

        printf("N");

    return 0;

}

温馨提示:答案为网友推荐,仅供参考
相似回答