C语言判断闰年,输入年判断并打印是否闰年

判断任意年份是否为闰年,需要满足以下条件中的任意一个:
① 该年份能
被 4 整除同时不能被 100 整除
② 该年份
能被400整除

#include <stdio.h>
int main()
{
	int a;
	scanf("%d",&a);
	if(a%100==0)//判断是否被100整除,如果可以则是闰年,并不执行下else
	    printf("不是闰年.\n");
		else if(a%4==0)//如果不被100整除,则继续判断是否被4整除,如果可以则是闰年
        {
            printf("%d",a);
		    printf("是闰年\n");
        }
        else if(a%400==0)//如果不被100整除,则继续判断是否被400整除,如果可以则是闰年
        {
        	printf("%d",a);
        	printf("是闰年\n"); 
        }
        else//如果不被100整除,且上面两个判断也不成立则此年不是闰年
        {
        	printf("%d",a);
            printf("不是闰年.\n");	
        }
        
	
	return 0;
} 

还有一个思路更清楚代码

#include <stdio.h> 
int main()
{
	int a;//a代表年份
	printf("请输入一个年份\n");
	scanf("%d",&a);
	if(a%4==0)
	{
		if(a%100==0)//可以被4整除的再判断是否被100整除(非整百年能被4整除的为闰年) 
		  {
  			   if(a%400==0)	//能被400整除的是闰年 
  			    {
    			  printf("%d",a);
				  printf("是闰年\n");	
   			    }
   			    else
   			    {
			      printf("%d",a);
				  printf("不是闰年\n");
   			    }
  		  }
        else//判断不能被100整除的年份 
        {
        	printf("%d",a);
        	printf("是闰年\n");
        }
	} 
	else//不能被4整除的年份 
	{
		printf("%d",a);
		printf("不是闰年\n");
	}
  return 0;
}

上面这么多判断是可以写在一起的,减少代码数量和冗余

#include <stdio.h>
int main()
{
	int y = 0;
	printf("输入年份,例:2021\n");
	scanf("%d",&y);
	if(y%4==0&&y%100!=0||y%400==0)
	{
		printf("%d是闰年",y);
	}
	else
	{
		printf("%d不是闰年",y);
	} 
	return 0;
} 

 

学会了判断闰年,可以再来试一下延伸操作

C语言实现计算某一天是当年的第几天,并计算出一年的剩余天数

C语言万年历,C语言趣味程序

我是虎哥,大家多学习多交流

猜你喜欢

转载自blog.csdn.net/Eliauk1234/article/details/121394608