鱼C论坛

 找回密码
 立即注册
查看: 2982|回复: 5

关于闰年的判断

[复制链接]
发表于 2011-10-24 20:38:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 seuer126 于 2011-10-25 16:05 编辑

#include<stdio.h>
  void main()
  {
           int leap;
           int year;
           printf("请你任意输入一个年份:\n");
           scanf("%d\n",&year);
            if((year%4==0 &&year%100!=0)||(year%400==0))
               leap=1;
                else
                    leap=0;
           if(leap)
                   printf("%d is", year);
          else
                    printf("%d is not",year);
           printf(" a leap year.\n");
  }
    当我输入2000是时候,程序没有输出任何结果。麻烦请各位看看! 还有的是, 当输入2000,它能被4整除,也能被100整除啊,而条件怎么是被4整除且不能被100整除?  这个地方我不太理解。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-24 20:49:21 | 显示全部楼层
本帖最后由 风扫地 于 2011-10-24 20:49 编辑

  1.   scanf("%d\n",&year);
复制代码

去掉   /n   就行了。。你的理解没错。 2.jpg
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-24 21:42:23 | 显示全部楼层
  1. 还有的是, 当输入2000,它能被4整除,也能被100整除啊,而条件怎么是被4整除且不能被100整除?  这个地方我不太理解。
复制代码
这是为了限定某些数,但后面又有被400整除,所以就是闰年了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-24 22:04:53 | 显示全部楼层
int year;

do   //无限循环
{
printf("请输入年份\n");
scanf("%d",&year);
printf(year%(year%100?4:400)?"非闰年\n":"是闰年\n");
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-10-24 22:08:13 | 显示全部楼层
公历闰年的精确计算方法
①、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年)     
②、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)   
③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)(此按一回归年365天5h48'45.5''计算)。
即规定公历年份是整百数的,必须是400的倍数才是闰年,不是400的倍数的就是平年。比如,1700年、1800年和1900年为平年,2000年为闰年。此后,平均每年长度为365.2425天,约4年出现1天的偏差。按照每四年一个闰年计算,平均每年就要多算出0.0078天,经过四百年就会多出大约3天来,因此,每四百年中要减少三个闰年。闰年的计算,归结起来就是通常说的:四年一闰;百年不闰,四百年再闰。
{:1_1:}{:1_1:}{:1_1:}希望对你有用
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-10-25 14:36:34 | 显示全部楼层
谢谢楼上的几位,小弟搞懂了!:lol
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-9 03:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表