四人中三人说真话一人说假话如何用编程去判断这样的条件

原创 2018年04月17日 00:20:44


#include<stdio.h> #include<string.h> //日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。 //A说:不是我。 //B说:是C。 //C说:是D。 //D说:C在胡说 //已知3个人说了真话,1个人说的是假话。 //现在请根据这些信息,写一个程序来确定到底谁是凶手。 int main02(void) { char arr[] = { 'A', 'B', 'C', 'D' };//分别装凶手的四种情况 int i = 0;       for (i = 0; i < 4; i++)//把四种情况遍历

     {   if ((arr[i] != 'A') + (arr[i] == 'C') + (arr[i] == 'D') + (arr[i] != 'D') == 3)//如果三真一假

    {    printf("凶手是%c\n",arr[i]);//找出凶手     } } system("pause"); return 0;

本题思路:定义一个数组分别装着四种情况,然后分别在四种情况下去判断,是否四个人中正好有三个人说真话(三个人说真话说明满足三个条件一个条件不满足逻辑的和为3),如果满足条件说明该情况为凶手。

Plus:

类似的题目还有跳水运动5个人预测一个比赛成绩,比赛结果出来了,但是每个人说的话只有对了一半,所以每人个说的话分为两部分,两部分的逻辑和为1,又五个人的逻辑和为5,有了这两个关键点,就能找出正确比赛名次。

4个人有一个人说假话三个人说真话找出说假话的人的算法

张山说:不是我。李四说:是王五。王五说:是赵六。赵六说:不是我。 代码如下: #include int main() { using namespace std; char *man[]...
  • ilikehigame
  • ilikehigame
  • 2014年05月05日 16:46
  • 1827

3个人说了真话,1个人说的是假话。写一个程序来确定到底谁是凶手

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说。   等同于“不是D”已知3个人说了真话,1个人说...
  • ljy_home
  • ljy_home
  • 2016年06月17日 18:36
  • 1151

四个人 “谁做的好事”,三个为说假话,一个说真话!

有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 A说:不是我。 B说:是C。 C说:是D。 D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据...
  • liushaowei2008
  • liushaowei2008
  • 2012年05月31日 16:39
  • 2601

两个房间,其中一间有恶虎,两个守门人一个说真话一个说假话。你只能问一个人一句话,选出安全房间。

两个房间,其中一间有恶虎,两个守门人一个说真话一个说假话。你只能问一个人一句话,选出安全房间。正确的答案是:问任何一个人,另外一个人会让我选哪间安全的房。然后进入另外一间就是安全的房间!!...
  • foreverxyz
  • foreverxyz
  • 2010年02月18日 17:37
  • 8046

谁是C v3.0

如果说 C++是 C v1.7版, 那么,划时代的JAVA 是当之无愧的 C  v2.0, 只可惜sun扑街,java社区百家争鸣,难定正误, 开源路越走越窄?还是因为现有开源体系已较完备。    原...
  • io_in_stream
  • io_in_stream
  • 2010年04月28日 22:40
  • 211

《C语言及程序设计》实践项目——穷举法解题

返回:贺老师课程教学链接说明:穷举法在有些时候,并不是一种最有效率的解决方案,但却是最直观的。初学者依靠这一组问题的解决,将获得程序设计的最直接体验,以及会想问题的头脑。【项目1-小明借书】小明有五本...
  • sxhelijian
  • sxhelijian
  • 2015年04月19日 08:07
  • 2090

面试逻辑题:三个精灵说真话假话的判断难题

甲乙丙三个精灵说真话(Da)假话(Ja)和随机选择真假的判断难题  根据已故的麻省理工( MIT )哲学及逻辑家George Boolos,以下的趣味逻辑问题可算是全世界最难的一个。你可以解决这个难题...
  • java2000_net
  • java2000_net
  • 2009年02月26日 13:18
  • 8170

一道好玩的逻辑推理题(和真话及假话相关)

  前几天在博客堂(http://blog.joycode.com)的主页上看到一道非常有意思的题目。题目如下:    话说某个小岛上的居民有两个部落,一个部落的人只说真话,另一个的人有时候说真话,有...
  • comiunknown
  • comiunknown
  • 2005年03月03日 19:20
  • 4735

一切让时间说真话

不要说什么一辈子,哪怕几个月后几年后,都能对我像最初的那般好。感情这东西并不是一成不变的东西,今天你说你爱我,说不定一个转身你就爱上了别人。 两个人能够长久在一起的真正秘诀,并不是为了对方而努力变成...
  • klyz1234
  • klyz1234
  • 2016年01月07日 14:06
  • 160

警查审问四名嫌疑人,其中三人说真话,一人说谎。

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯  的一个。以下为4个嫌疑犯的供词。  A说:不是我。  B说:是C。  C说:是D。  D说:C在胡说  已知3个人说了真...
  • sherry_zhe
  • sherry_zhe
  • 2017年10月23日 16:22
  • 233
收藏助手
不良信息举报
您举报文章:四人中三人说真话一人说假话如何用编程去判断这样的条件
举报原因:
原因补充:

(最多只允许输入30个字)