编程语言
首页 > 编程语言> > 用C编程找出凶手

用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;
}

运行结果
在这里插入图片描述
代码分析

  1. 使用变量k表示凶手。
  2. 使用for循环遍历所有的可能性。
  3. 使用if语句判断每个嫌疑犯说的话。

标签:找出,编程,题目,int,假设,假话,凶手,嫌疑犯
来源: https://blog.csdn.net/NICHUN12345/article/details/120385147