日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
凶手是(a,b,c,d)其中的一个,假如A是凶手(说假话),那么B,C,D说的是真话。同理假如B说假话/C说假话/D说假话
根据条件判断出凶手(3个人说真话,1个人说假话)
所以利用for循环 循环4次 每次循环根据条件就可以找出凶手
a的ASSCCI码值到d的ASSCCI码值是连续的 为了方便for循环里面初值就赋予‘a'
那么判断条件(3个人说真话,1个人说假话)把条件赋予表达式为真就是1 为假就是0 把所有的表达式结果加起来=3 找出凶手
#include<stdio.h>
int main()
{
int killer = 'a';
for (killer = 'a'; killer <= 'd'; killer++)
{
if (((killer != 'a') + (killer == 'c') + (killer == 'd') +(killer != 'd')) == 3)
{
printf("凶手是%c",killer);
}
}
return 0;
}
5位运动员参加了1