who is murderer?

/*
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个
嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。

思路:
既然是三个人说了真话一个人说了假话,那么,他们四个人的逻辑值结果加起来等于三。
这个kill可能是四个人中的任何一个人,所以将四个人依次循环一遍
若哪一个人满足他们几个说的话这个条件,那么他应该是凶手。

    四个人说的话可以被表示为      A:  murderer!='A'
                                B:  murderer=='C'
								C:  murderer=='D'
								D:  murderer!='D'

*/


#include<stdio.h>
#include<windows.h>

int main()
{
	int murderer = 0;
	for (murderer = 'A'; murderer <= 'D'; murderer++){
		if (((murderer != 'A')+ (murderer == 'C') + (murderer == 'D') + (murderer != 'D')) == 3){
			printf("murderer = %c\n", murderer);
		}
	}
	system("pause");
	return 0;
}
发布了14 篇原创文章 · 获赞 0 · 访问量 146

猜你喜欢

转载自blog.csdn.net/qq_41041036/article/details/103722856