| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 723 人关注过本帖
标题:关于判断一个年份是否为闰年的题目。
收藏  订阅  推荐  打印 
libiao5457
Rank: 1
等级:新手上路
帖子:8
积分:180
注册:2007-8-27
关于判断一个年份是否为闰年的题目。

闰年的判断规则为:能被4整除但不能被100整除的年份(这里用&&),或者能被400整除(这里用||)
我就写了这样一个程序。
#include <stdio.h>
void main()
{
int year;
printf("请输入年份");
scanf("%d",&year);
if ((year % 4 ==0 && (year % 100 <0 && year % 100 > 0))||(year % 400 ==0))
printf("%d年是闰年\n",year);
else
printf("%d年不是闰年\n",year);
}
照理说2004年应该是闰年阿。为什么却又不是呢。

搜索更多相关主题的帖子: 年份  闰年  year  
2007-9-2 00:49
coachard
Rank: 6Rank: 6
等级:金牌会员
威望:7
帖子:1251
积分:12620
注册:2007-8-12

#include <stdio.h>
#define oooo {
#define OOOO }
#define oOoO printf
#define OoOo scanf
#define oooO int
#define oOOo main
#define OooO "%d yes"
#define OOOo "%d no"

oooO oOOo() oooo oooO Oooo=2004;((Oooo%4==0&&Oooo%100!=0)||(Oooo%400==0))?oOoO(OooO,Oooo):oOoO(OOOo,Oooo);OOOO

真不知道混乱代码是怎么出来的!怎么我写出来的这么不像?????

简直就是单纯的宏替换~~~~~~~晕哦

[此贴子已经被作者于2007-9-2 4:02:13编辑过]


偶学编程,也许本身就是一个错。。。
2007-9-2 02:49
killer_l
Rank: 6Rank: 6
等级:金牌会员
威望:3
帖子:1135
积分:12619
注册:2007-5-25

逻辑错误

if ((year % 4 ==0) && ( year % 100 != 0) ||(year % 400 ==0))

另外,楼上比较强大......

2007-9-2 08:39
Estudy
Rank: 2
等级:注册会员
帖子:38
积分:500
注册:2007-8-31

以下是引用libiao5457在2007-9-2 0:49:59的发言:

闰年的判断规则为:能被4整除但不能被100整除的年份(这里用&&),或者能被400整除(这里用||)
我就写了这样一个程序。
#include <stdio.h>
void main()
{
int year;
printf("请输入年份");
scanf("%d",&year);
if ((year % 4 ==0 && (year % 100 <0 && year % 100 > 0))||(year % 400 ==0))
/* 这里应该是 if ( (year%4==0 && year%100!=0) || year%400==0 ) 不清楚楼主的小于0和大于0是什么意思 */
printf("%d年是闰年\n",year);
else
printf("%d年不是闰年\n",year);
}
照理说2004年应该是闰年阿。为什么却又不是呢。


用程序说话
2007-9-2 08:54
Knocker
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:36
帖子:9963
积分:324662
注册:2004-6-1

以下是引用coachard在2007-9-2 2:49:19的发言:
#include <stdio.h>
#define oooo {
#define OOOO }
#define oOoO printf
#define OoOo scanf
#define oooO int
#define oOOo main
#define OooO "%d yes"
#define OOOo "%d no"

oooO oOOo() oooo oooO Oooo=2004;((Oooo%4==0&&Oooo%100!=0)||(Oooo%400==0))?oOoO(OooO,Oooo):oOoO(OOOo,Oooo);OOOO

真不知道混乱代码是怎么出来的!怎么我写出来的这么不像?????

简直就是单纯的宏替换~~~~~~~晕哦

#include <stdio.h>
main(o){main(printf(&"不是闰年\n"[((!(o%4)&& o%100)||!(o%400))<<1],printf("%d年",o),scanf("%d",&o,printf("请输入年份:\n"))));}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-9-2 09:41
Knocker
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:36
帖子:9963
积分:324662
注册:2004-6-1

我保证不仅仅是TC能编译,任何支持C89标准的编译器都能编


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2007-9-2 09:48
coachard
Rank: 6Rank: 6
等级:金牌会员
威望:7
帖子:1251
积分:12620
注册:2007-8-12

LS强大,我又学了一招!

偶学编程,也许本身就是一个错。。。
2007-9-2 11:29
knightman
Rank: 1
等级:新手上路
帖子:26
积分:360
注册:2007-9-2

重要的部分 if(n%4==0&&n%100!=o||n%400==0)
2007-9-2 15:40
mp3aaa
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:16
帖子:1966
积分:20194
注册:2006-2-15

printf("%d年%s",o,&"不是闰年\n"....

羊肉串 葡萄干 哈密瓜!!
2007-9-2 17:30
libiao5457
Rank: 1
等级:新手上路
帖子:8
积分:180
注册:2007-8-27

以下是引用libiao5457在2007-9-2 0:49:59的发言:

闰年的判断规则为:能被4整除但不能被100整除的年份(这里用&&),或者能被400整除(这里用||)
我就写了这样一个程序。
#include <stdio.h>
void main()
{
int year;
printf("请输入年份");
scanf("%d",&year);
if ((year % 4 ==0 && (year % 100 <0 && year % 100 > 0))||(year % 400 ==0))
printf("%d年是闰年\n",year);
else
printf("%d年不是闰年\n",year);
}
照理说2004年应该是闰年阿。为什么却又不是呢。

哎。。是我的逻辑思维混乱了。我认为Year不能被100整除就是Year % 100 >0 && year % 100<0阿。就是不能被100整除了。我好渺小啊。~
2007-9-2 21:50
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.055454 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved