大家帮我写一写吧,谢谢大家了 警察局抓住了A、B、C、D四名盗窃嫌疑犯,请问到底谁是小偷?警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷.在审问时,A说:“我不是小偷”;B说:“C是小偷”;C说:“小偷肯定是D”;D说:“C在冤枉好人”.现在已经知道这四人中有三人说的是真话,一人说的是假话.请问到底谁是小偷?用C++写出程序

问题描述:

大家帮我写一写吧,谢谢大家了 警察局抓住了A、B、C、D四名盗窃嫌疑犯,请问到底谁是小偷?
警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷.在审问时,A说:“我不是小偷”;B说:“C是小偷”;C说:“小偷肯定是D”;D说:“C在冤
枉好人”.现在已经知道这四人中有三人说的是真话,一人说的是假话.请问到底谁是小偷?
用C++写出程序

C是小偷
因为如果A说假话,那么BCD就是真话,可是CD前后矛盾,所以A是真话
由此一直推断 如果D说假话,那ABC就是真话 因为BC矛盾,所以D是真话
如果C是假话,那么ABD就是真话,与实际相符 ,所以C是小偷