日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个
嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
四重循环将四个人便利一遍,然后将四人的条件的进行判断
#include<stdio.h>
#include<stdlib.h>
int main()
{
int tmp[4] = { 0 };
int i;
for (i = 0; i < 4; i++)
{
tmp[i] = 1; //先假设A是凶手
if ((tmp[0] != 1) + (tmp[2] == 1) +
(tmp[3] == 1) + (tmp[3] != 1) == 3)
{
printf("%c是凶手", 'A' + i);
}
tmp[i] = 0; //如果条件不成立那么A不是凶手,开始假设B是凶手
}
system("pause");
return 0;
}