C语言编程题——猜凶手

题目内容

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
以下为4个嫌疑犯的供词:

A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说

已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。

解题思路

假设说真话的人判断为1,假话则判断为0

A说:不是我。// 1/0
B说:是C。 // 1/0
C说:是D。 // 1/0
D说:C在胡说 // 1/0

如果ABCD四个数加起来为3,则3真1假条件成立,找出凶手

代码实现

把每个人说的话变成一个表达式,结果无非就是1和0
killer != ‘a’; //a说不是他
killer == ‘c’; //b说是c
killer == ‘d’'; //c说是d
killer != ‘d’; //d说c在胡说

#include 

int main()
{
        int ikun = 0;

        for(ikun = 'A';ikun <= 'D';ikun++)
        {
                if(3 == (('A' != ikun) + ('C'== ikun) + ('D' == ikun) + ('D' != ikun)))
                {
                        printf("凶手就是你小子:%c\n",ikun);
                }
        }

        return 0;
}

你可能感兴趣的:(c++,c语言)