社区
C语言
帖子详情
闰年算法问题
puzzle1986
2008-10-09 10:47:18
见得最多得算法是:
true = y%4 == 0 && y%100 != 0 || y%400 == 0
可是小学就学过只要年数y除以4没有余数就是闰年,为什么多出来那么多?(是算法的效率问题?)
还有个是在MOP上看到的,有这么一题:
main( )
{
int a = 1, b = 2;
printf( "%d", 1 + a/b ); /*把1 + a/b换成1.0 + a/b后,运算结果是0,前面是正常的1,为什么?我是在linux下用gcc编译的*/
}
...全文
631
10
打赏
收藏
闰年算法问题
见得最多得算法是: true = y%4 == 0 && y%100 != 0 || y%400 == 0 可是小学就学过只要年数y除以4没有余数就是闰年,为什么多出来那么多?(是算法的效率问题?) 还有个是在MOP上看到的,有这么一题: main( ) { int a = 1, b = 2; printf( "%d", 1 + a/b ); /*把1 + a/b换成1.0 + a/b后,运算结果是0,前面是正常的1,为什么?我是在linux下用gcc编译的*/ }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xianyuxiaoqiang
2008-10-10
打赏
举报
回复
小学老师水平比较差。
我小学老师也是错的。初中老师倒教的不错。润年就是按照该算法算的。
另外%d对应int型。后面1.0是float型,float和int相加结果为float,输出
时格式不匹配。想深入研究的话看看计算机原理中有关float的规约。
阿提饭
2008-10-10
打赏
举报
回复
你老师错了
hander_vip
2008-10-10
打赏
举报
回复
baidu知道上的:
关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。
zzhzhua
2008-10-10
打赏
举报
回复
楼上的同志已经解决了。
WEN2222
2008-10-09
打赏
举报
回复
你算一下1000年是闰年吗?
1.0是浮点型,1是整形,运算的时候会转化为浮点型,要用那个%f的
dayuanquan
2008-10-09
打赏
举报
回复
bool judge(int n)
{
return (n%4==0&&n%100!=0)||n%400==0;
}
phz1985
2008-10-09
打赏
举报
回复
[Quote=引用楼主 puzzle1986 的帖子:]
见得最多得算法是:
true = y%4 == 0 && y%100 != 0 || y%400 == 0
可是小学就学过只要年数y除以4没有余数就是闰年,为什么多出来那么多?(是算法的效率问题?)
还有个是在MOP上看到的,有这么一题:
main( )
{
int a = 1, b = 2;
printf( "%d", 1 + a/b ); /*把1 + a/b换成1.0 + a/b后,运算结果是0,前面是正常的1,为什么?我是在linux下用gcc编译的*/
}
[/Quote]
你老师教错了.
chlaws
2008-10-09
打赏
举报
回复
改1.0那就是类型提升到float类型 用%d会溢出 所以要改格式输出符
tabby198512
2008-10-09
打赏
举报
回复
应该是赋值问题吧!一个浮点型的数按照整型格式输出,因为所占的内存不一样,高位舍弃,所以就是0了
JDR77
2008-10-09
打赏
举报
回复
整百年要是400的倍数才算是闰年,所以公元1000年不是闰年。
四年一闰,百年不闰,四百年再闰
闰年
的
算法
闰年
的
算法
关于
闰年
的
算法
详细解释,看了你就明白。 关于
闰年
的
算法
详细解释,看了你就明白。
闰年
算法
小例
闰年
算法
小例,很简单的小例子,需要的朋友可以自行下载。
Linux内核之Kernel目录
通过本课程的学习,可以达到以下目的: 1、通过asm.s及trap.c的学习... 5、mktime.c中对系统如何构建从1970年1月1日0时开始的时间及
闰年
的处理有最原始的描述; 6、最后,课程会介绍与内核打印相关的函数的实现细节。
VC作业之判断
闰年
算法
VC作业之判断
闰年
算法
用C#写的判断是否是
闰年
的
算法
用C#写的判断是否是
闰年
的
算法
,用户输入一个年数,程序自动判断是否是
闰年
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章