zoukankan      html  css  js  c++  java
  • 浙大版《C语言程序设计(第3版)》题目集 练习3-5 输出闰年 (15 分)

    练习3-5 输出闰年 (15 分)

    输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。

    输入格式:

    输入在一行中给出21世纪的某个截止年份。

    输出格式:

    逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。

    输入样例1:

    2048
    

    输出样例1:

    2004
    2008
    2012
    2016
    2020
    2024
    2028
    2032
    2036
    2040
    2044
    2048
    

    输入样例2:

    2000
    

    输出样例2:

    Invalid year!
    

    思路:2000年属于20世纪,21世纪从2001年开始,然后利用提给的判断闰年方法进行判断。

    代码如下:
    #include<stdio.h>
    int main ()
    {	
      int year, i, count=0;
    
      scanf("%d",&year);
      if(year<=2000||year>2100) 
      {
        printf("Invalid year!");
        return 0;
      }
      for (i=2001;i<=year;i++)
      {
        if (i%4==0&&i%100!=0)
        {
          count++;
          printf("%d
    ",i);
        }
      }
      if(count==0)
        printf("None");
    	
      return 0;
    }        
    
    
    

      

    
    

     科普:

      闰年闰年是比普通年分多出一段时间的年分,在各种历法中都有出现,目的是为了弥补人为规定的纪年与地球公转产生的差异。

      闰年规则目前使用的格里高利历闰年规则如下:

    1. 公元年分除以4不可整除,为平年。
    2. 公元年分除以4可整除但除以100不可整除,为闰年。
    3. 公元年分除以100可整除但除以400不可整除,为平年。
    4. 公元年分除以400可整除但除以3200不可整除,为闰年。

      每逢闰年,2月有29日,平年的2月为28日。

      因此,1977年为平年,1980年逢4的倍数为闰年,1900年逢100的倍数但非400的倍数故为平年,2000年逢400的倍数又为闰年。

    此外,如依照现有太阳年的长度与上述闰年规则,每8000年又约差一日,因此约翰·赫歇尔提议每逢4000的倍数不闰,如公元4000年。但距此年分来临尚有约二千年之遥,因此还未曾真正纳入规则或实施过。又由于地球公转速度的不稳定与众多影响因素,届时是否需要纳入此规则有待商榷。

      公元前的闰年

      公元前之闰年出现在前1, 前5, 前9, 前13, ...,或记作1 BC,5 BC,9 BC,13 BC,...,或在数轴上记作0,-4,-8,-12,...。 判断是否闰年,须将年份值减1再以“除以4”计算,或以数轴记法表示时直接计算(正负性不影响是否整除)。(因为没有公元0年这一年(除非临时约定,并注明对应等式),所以公元前1, 2, 3, 4, ... 年应该在数学数轴上对应着(但不是,或不应该在历法上称)公元0, -1, -2, -3, ... 年,而公元前1, 5, 9, 13, ... 年在数学数轴上对应着0, -4, -8, -12, ... 年,为4的倍数)。 记住:临时约定的数学“0”年,等于天文学固有的“0”年,等于历法公元前一年。

      来源:维基百科-闰年(https://zh.wikipedia.org/wiki/%E9%97%B0%E5%B9%B4)

     

     
  • 相关阅读:
    谷粒商城学习——P41vue组件化
    谷粒商城学习——P40计算属性、侦听器、过滤器
    谷粒商城学习——P38-39Vue-指令-单向绑定&双向绑定&v-onv-forv-if
    谷粒商城学习——P37vue基本语法——双向绑定、事件处理
    谷粒商城学习——P36Vue介绍与HelloWord
    谷粒商城学习——P35模块化
    谷粒商城学习——P34Promise异步编排
    Windows tcp/ip(CVE-2020-16898)远程代码执行蓝屏漏洞复现
    QQ群关系可视化3D查询搭建
    Skywalking 8.1 Docker 服务端部署
  • 原文地址:https://www.cnblogs.com/IT-Lead-The-World/p/10349731.html
Copyright © 2011-2022 走看看