某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
以下为4个嫌疑犯的供词:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
只需判断真话的次数为3次即可
#include<stdio.h>
int main()
{
int killer=0;
for (int i = 0; i < 4; i++)
{
//每次循环假设当前人说的是假话
int true = 0;//记录说真话的次数
//判断是否是真话,每当有人说真话时,true+1
//当true=3时,就说明本次假设成立
if (i != 0)//a说真话
true++;
if (i == 1)//b说真话
true++;
if (i == 2)//c说真话
true++;
if (i != 3)//d说真话
true++;
if (true == 3)//真话说三次就可以判断凶手
{
killer = i;
break;
}
}
printf("凶手是%d号\n", killer+1);
return 0;
}
运行结果如图