今天看到了一个脑筋急转弯问题 是这样说的 :ABCD四个人 其中有一个人是杀 犯 A说:杀人的不是他 B说:人是C杀的 C说:人是D杀的 D说:C在胡说 而这四个人中三人说的是真话 只有一个人说的是假话 请问谁是凶手?
首先我是这么想的 只要作出假设ABCD任何一人说的是假话 其余三人便都是真话 将他们的话带进去思考 符合逻辑就能找到凶手是谁 同样的用c语言编程也能解决这道题哦:
#include<stdio.h>
2 int main()
3 {
4 char killer;
5 int i;
6 int sum;
7 for(i=0;i<4;i++)
8 {
9 killer = 'A' + i;
10 sum = (killer != 'A') + (killer == 'C') + (killer == 'D') + (killer != 'D');
11 if (sum == 3)
12 {
13 printf("%c\n",killer);
14 break;
15 }
16 }
17 return 0;
18 }
运行一下 结果就是C
感觉特别神奇有木有 只要找到三个人说的是真话即最后结果3 就能判断出最后的凶手 符合逻辑
希望以后学习c语言的时候多一点创造性思维 在学习中收获快乐 在快乐中享受学习