原题链接:[编程入门]宏定义之闰年判断
解题思路:
首先知道闰年的条件:
(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分
16 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
@琴海 #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; }这样就不同行了@琴海 为什么define后的“{}”以及里面的代码必须与#define LEAP_YEAR(y)在同一行,即不能这么写#define LEAP_YEAR(y) { if(y%4==0 && y%100!=0 || y%400==0) printf("L"); else printf("N"); }