C语言OJ项目参考(2964) 查闰年

2964: 查闰年

Description
  大家知道如何判断某一年是否是闰年吗?这个问题可难坏了小编,小编在写一个查找m年到n年之间闰年的程序,却苦于判断闰年的函数不会写,据说 今天你有上机课,我就拿着这个问题来找你了–
  闰年的条件是:能被4整除但不能被100整除,或能被400整除。

#include <stdio.h>
int leap_year(int n);   /*声明判断闰年函数*/
int main()
{
    int i;
    int cnt;    /*计数,用于每行满8个换行*/
    int m,n;
    scanf("%d %d",&m,&n);   /*输入年份*/
    cnt=0;  /*初始化*/
    for(i=m;i<=n;i++)   /*遍历m到n的每一年*/
    {
        if(leap_year(i))    /*判断i年是不是闰年*/
        {
            printf("%d",i); /*输出闰年*/
            cnt++;  /*计数+1*/
            if(cnt==8) /*够8个换行,cnt清0*/
            {
                printf("\n");
                cnt=0;
            }
            else
            {
                printf(" ");
            }
        }
    }
    return 0;
}

  主程序已给出,请自行编写leap_year函数并提交

Input
第m年和第n年

Output
m年至n年之间的所有闰年,输出结果每行8个,数据之间用空格分隔。

Sample Input
1949 2045
Sample Output
1952 1956 1960 1964 1968 1972 1976 1980
1984 1988 1992 1996 2000 2004 2008 2012
2016 2020 2024 2028 2032 2036 2040 2044

参考解答

#include <stdio.h>
int leap_year(int n);   /*声明判断闰年函数*/
int main()
{
    int i;
    int cnt;    /*计数,用于每行满8个换行*/
    int m,n;
    scanf("%d %d",&m,&n);   /*输入年份*/
    cnt=0;  /*初始化*/
    for(i=m;i<=n;i++)   /*遍历m到n的每一年*/
    {
        if(leap_year(i))    /*判断i年是不是闰年*/
        {
            printf("%d",i); /*输出闰年*/
            cnt++;  /*计数+1*/
            if(cnt==8) /*够8个换行,cnt清0*/
            {
                printf("\n");
                cnt=0;
            }
            else
            {
                printf(" ");
            }
        }
    }
    return 0;
}
int leap_year(int n)
{
    if(((n%4==0)&&(n%100!=0))||(n%400==0))
        return 1;
    else
        return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值