嫌疑犯"/>
公安人员审问四名窃贼嫌疑犯
公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人说话要么全是真的,要么全是假的。在回答公安人员的问题中:
甲说:“乙没有偷,是丁偷的。” 乙说:“我没有偷,是丙偷的。” 丙说:“甲没有偷,是乙偷的。” 丁说:“我没有偷。”
请根据这四人的答话编程判断谁是盗窃者。
```
#include<stdio.h>
int main()
{char cri;for (cri = 'a'; cri <= 'd'; cri++){if ((cri != 'b' + (cri == 'd') != 1) && ((cri != 'b') + (cri == 'c') != 1) && ((cri != 'a') + (cri == 'b') != 1))break;}putchar(cri);return 0;
}
```
题目告诉我们只有一个人是罪犯,所以设置一个char型变量cri。
让cri遍历所有可能的情况。
而且甲乙丙所说的话都是有两句,要么全为真,要么全为假。
以甲所说的话为例 “乙没有偷” 即为 cri!='b' 。“是丁偷的”,即为cri=='d'。
而这两句话要么全为真,要么全为假。
即为 (cri!='b')+(cri!='d')!=1;
而最后一个丁的叙述对判断没有影响,所以在判断条件那里没有体现出来。
最后输出满足条件时,cri所对应的值。
更多推荐
公安人员审问四名窃贼嫌疑犯
发布评论