C语言 四种方法判断闰年

第一种:条件嵌套语句(三个if…else…)
如果普通年能被4整除但不能被100整除,则为闰年,例如2020年为闰年
如果世纪年可被400整除,则为闰年,例如2000年为闰年
第二种则是直接条件判断,if…else if…else if…else
第三种则是如果能被4整除但不能被100整除 或者 能被400整除 两个条件满足其中一个则为闰年

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int year,leap;
	printf("Enter year:");
	scanf("%d",&year);
	if(year%4==0)
	{
		if(year%100==0)
		{
			if(year%400==0)
				leap=1;
			else
				leap=0;
		}
		else
			leap=1;
	}
	else
		leap=0;
	if(leap)                     // if(leap!=0)
		printf("%d is ",year);
	else
		printf("%d is not ",year);
	printf("a leap year.\n");
	system("pause");
	return 0;
}
// 判断闰年
/* if语句可以改
if(year%4!=0)
	leap=0;
else if (year%100!=0)
	leap=1;
else if (year%400!=0)
	leap=0;
else
	leap=1;*/


/*if(year%4 == 0 && year%100 != 0)||(year%400 == 0)
	leap=1;
else
	leap=0;*/`

第四种方法,与上面leap相似,不过上面是用数字0和1来记录,下面则用逻辑值来记录

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
	int year;
	bool leap;                           // 定义leap为逻辑变量
	scanf("%d",&year);                
	if(year%4==0)
	{
		if(year%100==0)
		{
			if(year%400==0)
				leap=true;              //使leap的值为真
			else
				leap=false;
		}
		else
			leap=true;
	}
	else
		leap=false;                      //使leap的值为假
	if(leap==true)                       //判断leap的值是否为true
		printf("%d is ",year);
	else
		printf("%d is not ",year);
	printf("a leap year.\n");
	system("pause");
	return 0;
}

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐