| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 356 人关注过本帖
标题:这个错在哪了
只看楼主 加入收藏
yulingka88
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-10-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
这个错在哪了
题目  4.输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)

#include<stdio.h>
void main()
{
    int a,b,c,t;
    scanf("%d,%d,%d",&a,&b,&c);
    (a%2==0&&b%2==0&&c%2==0)!=0? printf("not"):(t=(a+b+c)%2);
    t==0? printf("yes"):printf("not");
}

当输入三个偶数 时  会出来两个  not  怎么回事
搜索更多相关主题的帖子: 表达式 
2010-10-08 22:22
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:5 
你的t没有初始化,并且判断了两次,逻辑还有问题
你要改成
((a^b^c)&1)==0 && ((a|b|c)&1) ? printf("YES") : printf("NOT");
这样就不需要t了,并且计算的也很快

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-08 22:28
yulingka88
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-10-8
收藏
得分:0 
回复 2楼 御坂美琴
运行了一下  很正确  但看不懂额  能具体讲一下吗??
2010-10-08 22:35
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:5 
建议这么写:

int a,b,c,t=0;
scanf("%d,%d,%d",&a,&b,&c);
t=a%2==1?t+1:t;
t=b%2==1?t+1:t;
t=b%2==1?t+1:t;
t==2?printf("YES"):printf("NOT");

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-10-08 22:36
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
(a^b^c)&1 统计被2除余1的数的个数,再被2除的结果,0就是偶数个,1是奇数个
(a|b|c)&1 判断有没有奇数出现,有就是1,无就是0

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-08 22:56
cacker
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2010-10-08 23:00
wdy0516
Rank: 2
等 级:论坛游民
帖 子:18
专家分:30
注 册:2009-4-1
收藏
得分:5 
a%2==0&&b%2==0&&c%2==0 当输入三个偶数时,表达式值为1,t 随机赋值,故又有t!=0
2010-10-08 23:30
快速回复:这个错在哪了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012629 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved