某地发生了谋杀案,以下为警方得到的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;
}