永发信息网

关于C语言问题 张三李四王五说谎的问题

答案:4  悬赏:20  手机版
解决时间 2021-02-18 03:44
原题如下:一个超难的脑筋急转弯,张三说李四说慌,李四说王五说慌,王五说张三和李四都在说谎,问究竟谁在说谎,谁没说谎?

==

#include
int main()
{
int a,b,c;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
if((a&&!b||!a&&b)&&(b&&!c||!b&&c)&&(c&&a+b==0||!c&&a+b!=0))
{
printf("张三说了%s.\n",a?"真话":"假话");
printf("李四说了%s.\n",b?"真话":"假话");
printf("王五说了%s.\n",c?"真话":"假话");
}
}
===
其中下面这一段
(c&&a+b==0||!c&&a+b!=0)
不理解,谁能帮忙解释下?
最佳答案
王五说张三和李四都在说谎(一种情况:王五真话;一种情况:王五说谎)
(c&&a+b==0||!c&&a+b!=0)
运算符的优先级问题
先+再==最后&&:c&&((a+b)==0)
(a+b)==0:当且仅当a=0,b=0(即张三、李四都说谎)时,才有a+b=0
先+再!=最后&&:c&&((a+b)!=0)
(a+b)!=0:当a、b不全为0(即张三、李四不都说谎)时,有a+b!=0
全部回答
代码可以直接运行,结果是张三说假话,李四说真话,王五说假话。这里abc分别表示3个人,当变量的值是0时表示对应的人说谎。通过循环把所有情况列出来,排除不符合条件的,剩下的就是真相 #include int main() {   int a , b , c ; for ( a = 0 ; a <= 1 ; a++ ) for( b = 0 ; b <= 1 ; b ++ ) for( c = 0 ; c <= 1 ; c ++ ){ if( a == 1 && b == 1 )  //张三说真话,李四也说真话 continue ;          //不符合条件,继续下一个循环 if( a == 0 && b == 0 )  //张三、李四都说假话 continue ; if( b == 1 && c == 1 )  //李四、王五都说真话 continue ; if( b == 0 && c == 0 )  //李四、王五都说假话 continue ; if( c == 1 && !( a == 0 && b == 0 ) ) //王五说真话但张三李四没有都说谎 continue ; if( c == 0 && ( a == 0 && b == 0 ) ) //王五说假话但张三李四没有都说真话 continue ; if( a == 1 ) printf( "张三说真话 " ) ; else printf( "张三说假话 " ) ; if( b == 1 ) printf( "李四说真话 " ) ; else printf( "李四说假话 " ) ; if( c == 1 ) printf( "王五说真话\n" ) ; else printf( "王五说假话\n" ) ; }     return 0;   }
就是让 王五说张三和李四都在说谎 这个条件成立 (c&&a+b==0||!c&&a+b!=0)) 如果张三说的是真的 c&&a+b==0就是1 否则!c&&a+b!=0就是1 if里的三个条件都是1 的时候 此时的三个人说谎与否的情况就是对的
有意思!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
会计做的计提的工资会放在月报的那个表格里
怎样的qq多彩气泡才能翻译
昆明卡米特科技有限公司地址在哪,我要去那里
撒贝宁老婆李白多大了
如何根据总化学方程式写原电池中正负极离子方
电梯突然急坠该怎么办
肖家坡在哪里啊,我有事要去这个地方
在国内的专科院校读完大专 想去韩国留学读本
漫威为什么要选择出钢铁侠的电影
气象是怎么影响太阳辐射的?昆明准静止锋受什
彭恰恰主持过什么节目费玉清江蕙
右脚脚腕长痣代表什么谢谢了,大神帮忙啊
请问,晋江动车站就是晋江火车站吗?动车站到
高二会考过了,到高三要理科转文科,要不要再
Why Can't You Say That
推荐资讯
凯尔摩托(厚子铺专卖店)这个地址在什么地方,
龙锦苑东四区东门在哪里啊,我有事要去这个地
永昌蔬菜店地址在哪,我要去那里办事
苏州市区联通总公司服务点分别在哪里?
★出版物发行中,直接渠道的优势有()等。A.
【科目三考试顺序】申请机动车驾驶证的考试顺
对联主要想表达什么意思
济南一女子闯红灯被查后声称要住马路上把路全
离合器踏到底的时候中间有种台阶的感觉怎么回
刚买的手机自己就没电了
长沙泰康人寿和中英人寿电销哪个好?
孕妇胃痛怎么缓解
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?