第十一周 OJ总结<1>-查闰年

Copyright (c) 2016,

烟台大学计算机与控制学院 All ringts reserved.

 文件名称:OJ总结<1>-查闰年

作 者:王兴振

完成日期:2016年11月14日

版 本 号:未知

题目描述: 大家知道如何判断某一年是否是闰年吗?这个问题可难坏了小编,小编在写一个

查找m年到n年之间闰年的程序,却苦于判断闰年的函数不会写,据说 今天你有上机课,我就

拿着这个问题来找你了-- 闰年的条件是:能被4整除但不能被100整除,或能被400整除。

#include 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函数并提交输 入: 第m年和第n年输 出: m年至n年

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

样例输入: 1949 2045

样例输出: 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%400==0 || (n%4==0 && n%100!=0))
        return 1;
    else
        return 0;
}

总    结:

  第一题简单,最坑的是只交一部分.......



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值