#include<stdio.h>
#include<stdlib.h>
int main() {
int year
printf("***此程序是判断某一年是否为闰年***\n")
printf("请输入年份:\n")
scanf("%d",&year)
if(year<=0) {
printf("您的输入错误!\n")
return 0
} else {
if(year%100==0) {
if(year%400==0) {
printf("%d年是闰年\n",year)
} else printf("%d年不是是闰年",year)
} else {
if(year%4==0) printf("%d年是闰年\n",year)
else printf("%d年不是闰年\n",year)
}
}
getchar()
system("pause")
return 0
}
四种方法判断闰年:
第一种:条件嵌套语句(三个if…else…)。
如果普通年能被4整除但不能被100整除,则为闰年,例如2020年为闰年。
如果世纪年可被400整除,则为闰年,例如2000年为闰年。
第二种则是直接条件判断,if…else if…else if…else。
第三种则是如果能被4整除但不能被100整除或者能被400整除两个条件满足其中一个则为闰年。
第四种方法,与上面leap相似,不过上面是用数字0和1来记录,下面则用逻辑值来记录。
判断任意年份是否为闰年,需要满足以下条件中的任意一个:
①该年份能被4整除同时不能被100整除。
②该年份能被400整除。
本实例中使用嵌入式if-else语句。
判断语句
if(((0==year%4)&&(0!=year%100))||(0==year%400))
{//满足该条件的yeat就是闰年。}
以下是源程序代码:
#include<stdio。h>
intmain(void){
intyear;
printf("pleaseayear:");
scanf("%i",&year);
if((year%4==0&&year%100!=0)||year%400==0){printf("%iisaleapyear!",year);}else{printf("%iisnotaleapyear!",year);}
return0;}
给定年份的天数,自然就知道是不是闰年了。
比如说在单元格A1输入年份,公式就变成:
=IF(A1=1582,355,IF(A1<0,IF(MOD(A1,4)=3,366,365),IF(A1<1582,IF(MOD(A1,4)=0,366,365),365+IF(MOD(A1,4)=0,1,0)-IF(MOD(A1,400)=0,0,1)+IF(MOD(A1,100)=0,0,1))))
现实中一般碰到的年份,自然是无交集地晚于1582年的年份,这时给定年份的天数可以用这个公式:
=365+IF(MOD(单元格,4)=0,1,0)-IF(MOD(单元格,400)=0,0,1)+IF(MOD(单元格,100)=0,0,1)
以上内容参考:百度百科-闰年