查找罪犯:
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个
嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
凶手唯一性,三真一假和必须是3:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int murder = 0;//凶手
for (murder = 'A'; murder <= 'D'; murder++)//凶手是四个人中的一个人,murder等于'A'~'D'其中的一个
{
if ((murder != 'A') + (murder == 'C') + (murder == 'D') + (murder != 'D') == 3)//三个人说的是真的,
//那么意味着三个人的话为真,即条件成立,有三个,另一个不成立是0,那么和就是3,满足和是3的murder即是凶手
printf("murder=%c\n", murder);
}
system("pause");
return 0;
}