查找杀人凶手

Posted on 2017-05-28 12:35  niliushall  阅读(199)  评论(0)    收藏  举报

某地发生了谋杀案,以下为警方得到的4个嫌疑人的证词:
A说: 不是我.
B说: 是C.
C说: 是D.
D说: C在胡说.
已知三个人说的真话,一个人说的假话,请编写一个程序判断谁是凶手.(摘自《Linux C编程实战》

代码如下:

#include <stdio.h>
int main (void)
{
    int i, sum = 0, flag = 0;
    char killer;
    
    for(i = 0; i < 4; i++)//遍历ABCD四人
    {
        killer = 65 + i;
        sum = (killer != 'A') + (killer == 'C') + (killer == 'D') + (killer != 'D');
        if(sum == 3)//判断是否是三人为真,一人为假
        {
            flag = 1;
            printf("%c is killer.\n", killer);
            break;
        }
    }
    
    if(!flag)
        printf("Can not find.\n");
    
    return 0;
}