日本某地发生一件凶杀案,经常通过排查确定杀人凶手必为4个嫌疑犯的1个

日本某地发生一件凶杀案,经常通过排查确定杀人凶手必为4个嫌疑犯的1个。

    一下为4个嫌疑犯的供词:
    A说:不是我。
    B说:是C。
    C说:是D。
    D说:C在胡说。
    已知3个人说了真话,1个人说的是假话。
    请根据这些信息,写一个程序来确定到底谁是凶手?

要解决这个问题,先要画图分析:

 由分析结果来编写程序:

#include<stdio.h>

int main()
{
	char k = 0;    // 设定k是凶手
	for (k = 'A'; k <= 'D'; k++)
	{
		//printf("%c\n", k);
	  //如果((k不是A)+(k是C)+(k是D)+(k不是D)的结果等于3)----就是三个真话,一个假话
		if (((k != 'A') + (k == 'C') + (k == 'D') + (k != 'D')) == 3)
		{
			printf("凶手是:%c\n", k);  // 满足条件的k就是凶手了
		}
	}
	return 0;
}

下面是运行结果:

猜你喜欢

转载自blog.csdn.net/xingyuncao520025/article/details/131863308