描述
判断某年是否是闰年。
输入
输入只有一行,包含一个整数a(0 < a < 3000)
输出
一行,如果公元a年是闰年输出Y,否则输出N
注意:公历纪年法中,能被4整除的大多是闰年,但能被100整除而不能被400整除的年份不是闰年, 能被3200整除的也不是闰年,如1900年是平年,2000年是闰年,3200年不是闰年。
注意事项这里很重要,不能光被4整除就判断它是否是闰年。
所以这里我们要考虑如果输入的年份能被100整除时,他同时也能被400整除才行
#include<stdio.h>
int main(){
int a;
scanf("%d",&a);
int b=a%4;
int c=a%400;
int d=a%100;
if ((d!=0&&b==0)||c==0)
printf("Y");
else
printf("N");
return 0;
}
我这里的想法是两种情况成立的话,就能表示是闰年
1、a能被4整除,同时a不是100的倍数
2、a是400的倍数
两种情况用 || 连接,任何一种情况成立的话就是闰年。
当然此题
肯定还有其他的解法,这里只是讲一下我个人的思路(你也可以依次判断是否为400,100,4的倍数,我这里是并列使用的)
希望这篇文章能对刷题的同学有帮助