用C编程找出凶手
作者:互联网
题目名称:猜凶手
题目内容:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
以下为4个嫌疑犯的供词:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说。
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手
我们先理论分析一下:
//假设A是凶手,则B C D都说了假话,故A不可能是凶手
//假设B是凶手,则C D都说了假话
//假设C是凶手,合理
//假设D是凶手,B C说了假话
代码实现:
#include <stdio.h>
int main()
{
int k = 0;
for(k = 'A';k<='D';k++)
{
if((k!='A')+(k=='C')+(k=='D')+(k!='D')==3)
{
printf("killer = %c\n",k);
}
}
return 0;
}
运行结果:
代码分析:
- 使用变量k表示凶手。
- 使用for循环遍历所有的可能性。
- 使用if语句判断每个嫌疑犯说的话。
标签:找出,编程,题目,int,假设,假话,凶手,嫌疑犯 来源: https://blog.csdn.net/NICHUN12345/article/details/120385147