【前言】
今天是刷题打卡第31天。
今天将一道比较有意思的题目,来吧。
原题:猜凶手
题目描述:
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
以下为4个嫌疑犯的供词:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
现在请根据这些信息,写一个程序来确定到底谁是凶手。
其实我一开始碰到这题还是很懵的,不知道怎么去实现,看看一些大佬写的代码后醍醐灌顶,下面看看下面这道很妙的代码,注意哦,用心去体会。
思路:
已知3个人说了真话,1个人说的是假话。if 语句的写法很妙,注意理解。
代码执行:
int main()
{
char murderer = '0';
for (murderer = 'A'; murderer <= 'D'; murderer++)
{
if (((murderer != 'A') + (murderer == 'C') + (murderer == 'D') + (murderer != 'C')) == 3)
{
printf("%c\n", murderer);
break;
}
}
return 0;
}
猜名次也更新咯,快康康吧
结语
今天是刷题打卡第31天!
前期的题目都不难,坚持住哦。