问题:A、 B、C、 D 四人在一起聊天。有 3 人始终说真话, 有 1 人始终说谎。A 说不是我; B 说是 C; C 说是 D, D 说 C 胡说。请找出是谁在说谎。
将ABCD四人说的话当作四件事:我们先假设A为说谎的人,判断是否三件事为真、一件事为假,然后以此类推,直至找到说谎的人。
#include<stdio.h>
int main()
{
char man;
for(man='A';man<='d';man++)
{
if((man!='A')+(man=='C')+(man=='D')+(man!='D')==3)
{
printf("说谎的人是%c\n",man);
}
}
}