C语言:判断闰年的方法

闰年的定义:闰年是公历中的名词。闰年分为普通闰年和世纪闰年。普通闰年:公历年份是4的倍数的,一般是闰年(如2004年就是闰年);
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是世纪闰年,2000年是世纪闰年);
编程要点:
1>能被4整除不能被100整除
2>能被400整除

如下是判断输入的年份是不是闰年

#include <stdio.h>
#include <windows.h>
#pragma warning(disable:4996)
int main()
{
    int Year;
    scanf("%d", &Year);
    if ((Year % 400 == 0)||(Year % 4 == 0)&&(Year % 100 != 0)){
        printf("%d是闰年\n", Year);
    }
    else
        printf("%d不是闰年\n", Year);
    system("pause");
}

**

判断并统计闰年的的个数

**

#include <stdio.h>
#include <windows.h>
#pragma warning(disable:4996)
int main()
{
    int Year;
    int count=0;
    int min, max;
    printf("请输入要判断的年份区间\n");
    scanf("%d %d",&min,&max);
    for (Year = min; Year <= max; Year++){
        if ((Year % 400 == 0) || (Year % 4 == 0) && (Year % 100 != 0)){
            printf("%d ", Year);
            count++;
        }
    }
    printf("\n");
    printf("%d至%d之间是闰年的有%d个", min, max, count);
    system("pause");
}

运行结果截图

用函数方法实现判断

#include <stdio.h>
#include <windows.h>
#pragma warning(disable:4996)
int isLeapYear(int year)
{
    if ((year % 400 == 0) || (year % 4 == 0) && (year % 100 != 0)){
        return 1;
    }
    return 0;
}
int main()
{
    int y;
    printf("请输入要判断的年份\n");
    scanf("%d", &y);
    if (isLeapYear(y)){
        printf("%d是闰年\n", y);
    }
    else
        printf("%d不是闰年\n", y);
    system("pause");
    return 0;
}

更多推荐

C语言:判断闰年的方法