大家帮我写一写吧,谢谢大家了 警察局抓住了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是小偷
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-29
int who[4]={-1,3,4,-4};
for(int i=1;i<=4;i++){
int r=0;
for(int j=0;j<4;j++){
if(who[j]==i)r++;
if(who[j]<0 &&who[j]!=i)r++;
}
if(r==3)printf("thief is %s",'A'+i-1);
}本回答被网友采纳
第2个回答  2012-07-04
d
相似回答