日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说

末鹿安然 提交于 2020-02-23 01:51:02

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为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;

}
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!