永发信息网

求教c语言问题!!! 警察审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四个人中每人

答案:2  悬赏:20  手机版
解决时间 2021-03-03 03:00
求教c语言问题!!!
警察审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四个人中每人要么是诚实的,要么总是说谎。他们给警察的回答是:
甲说:“ 我没有偷。”
乙说:“ 甲没有偷,是丙偷的。”
丙说:“ 我没有偷,是丁偷的。”
丁说:” 丙没有偷,是乙偷的。”
请编写程序,根据这四个人的回答判断谁是窃贼。
最佳答案
#include<stdio.h>
int main()
{
int x[4]={0};//数组中1表示窃贼,0则不是
int i;
int a,b,c,d;//用于穷举四人所说的真假
for(i=0;i<4;x[i++]=0)
{
x[i]=1;//假定一个人是窃贼
for(a=0;a<2;a++)//穷举每种真假组合
for(b=0;b<2;b++)
for(c=0;c<2;c++)
for(d=0;d<2;d++)
{
if((x[0]==0)==a)//判断是否符合
if((x[0]==0)==b&&(x[2]==1)==b)
if((x[2]==0)==c&&(x[3]==1)==c)
if((x[2]==0)==d&&(x[1]==1)==d)
switch(i)//输出符合的那种假设
{
case 0:printf("甲");break;
case 1:printf("乙");break;
case 2:printf("丙");break;
case 3:printf("丁");break;
}
}
}
return 0;
}
全部回答
推理题目,一个一个的去验证,例如:假设甲是窃贼,那么他的话就是假的,乙说的也是假的,那么丙没有偷,丙说的是真的,那么丁偷了,这就矛盾了! 编程的话,将命题改写成符号,例如甲 aa = 0表示甲说甲没有偷。ba=0表示乙说甲没有偷,bc=1表示乙说是丙偷的,若假设a=1,那么ba=0为假,bc=1也为假,那么cc=0为真,cd=1也为真,a=1和d=1冲突就不行。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在甲市,电动自行车一方面方便了居民的出行,
邂逅的意思解释
请教一下打架事件处理过程
请问西安那里培训二手车评估师?学费是多少?
鸿远公司地址在哪,我要去那里办事
清蒸蚝油鲍鱼怎么做好吃,清蒸蚝油鲍鱼的家
干柿饼放冷冻室保存吃时不会硬吗我有许多硬的
阅读下列材料,回答下列问题材料一由中国与东
98世界杯荷兰巴西的对阵~人员名单~谁参加了
商业路/康力路(路口)在哪里啊,我有事要去这
如何设置库存同步
在我智齿后长出一块小肉
木材颜色各种颜色都有什么木材,越全越好!
曼景兰古城地址有知道的么?有点事想过去
警告闺蜜不回我消息的说说
推荐资讯
捷安特ocr3500内外胎全部都换需要多少钱?
成都保时捷4s店买车做按揭4s电还要格外收手续
怎么注册Markets?
中间穿插了poker face的一首歌,但不是poker f
美国哥伦比亚大学研究生申请什么时候发录取结
川埠特色老鹅怎么去啊,有知道地址的么
佳基大酒店-康乐休闲中心在哪里啊,我有事要
君子协定什么意思
小米手机好不好呢
精皓模具咬花厂地址在什么地方,想过去办事
海纳星地超市便利连锁NO.012地址在什么地方,
5类网线可以长时间承受48伏的电压吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?