解题思路:
首先知道闰年的条件:

        (1)四年一闰百年不闰:即如果year能够被4整除,但是不能被100整除,则year是闰年。 

        (2)每四百年再一闰:如果year能够被400整除,则year是闰年。

参考代码:

#include<stdio.h>
#define LEAP_YEAR(y){if(y%4==0 && y%100!=0 || y%400==0)printf("L");else printf("N");}
//(如果y能被4整除 且 y不能被100整除) 或 (y能被400整除)就是闰年输出L,否则(不满足以上条件的)就不是闰年,输出N。
int main()
{
    int y;
    scanf("%d",&y);
    LEAP_YEAR(y);
    return 0;
}


点赞(0)
 

0.0分

16 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

JiaqiShan07 1月前 回复TA
@琴海 #include<stdio.h> #define LEAP_YEAR(y)                                  \     if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) \         printf("L");                                  \     else                                              \         printf("N"); int main(){     int y;     scanf("%d", &y);     LEAP_YEAR(y);     return 0; }这样就不同行了
琴海 1年前 回复TA
@琴海 @dotcpp0703516 你好!不好意思,你的回复有乱码,我有些没看懂。代码编写灵活性很高,个人写没有固定范式,目的达到就可以。
H2330819018 1年前 回复TA
@琴海 为什么define后的“{}”以及里面的代码必须与#define LEAP_YEAR(y)在同一行,即不能这么写#define LEAP_YEAR(y) { 	if(y%4==0 && y%100!=0 || y%400==0) 	printf("L"); 	else printf("N"); }
琴海 1年前 回复TA
欢迎留言讨论