C语言进阶之旅(每日一题)如何成为福尔摩斯

故事背景

某地一男子被杀害

C语言进阶之旅(每日一题)如何成为福尔摩斯_第1张图片

警方经过调查得出嫌疑人有四个
分别是A,B,C,D
一下是他的口述:

  • A说不是他
  • B说是C
  • C说是D
  • D说是C
    有三人说了真话一人说了假话

那么到底是谁呢?
C语言进阶之旅(每日一题)如何成为福尔摩斯_第2张图片

分析

  • 登登凳灯,登登凳灯凳灯(自行脑补)配合音乐点这里
  • 沉睡的小五郎

C语言进阶之旅(每日一题)如何成为福尔摩斯_第3张图片
推理
C语言进阶之旅(每日一题)如何成为福尔摩斯_第4张图片

  • 真相只有一个凶手就是C

代码实现

  • 这里比较难的是代码的转换(也可能是我第一次碰到,菜狗)
int main()
{
     
	char killer = 0;
	for ( killer = 'A'; killer <= 'D'; killer++)
	{
     
		if ((killer != 'A') +(killer != 'C') +(killer == 'D')+(killer != 'D')==3)//只要成立那么难就是凶手
		{
     
			printf("%c", killer);
		}
	}

	return 0;

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