题目:
警察审问4名窃贼嫌疑犯。现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎。

这4个人给警察的回答如下。

甲说:“乙没有偷,是丁偷的。”
乙说:“我没有偷,是丙偷的。”
丙说:“甲没有偷,是乙偷的。”
丁说:“我没有偷。”

请根据这4个人的回答判断谁是窃贼。

思路:
从问题的趣味描述来看,这道题很显然是一道逻辑题,题目里,4个人中,三个人都对另外认为的两个人进行了指证。
当然,我们知道,这里面一定有伪证,所以接下来,我们根据四个人的描述设计相应的公式。

我们假定甲乙丙丁分别为A,B,C,D,根据他们的描述分别代入

第一种情况:
甲说:“乙没有偷,是丁偷的。” —— B+D=1
第二种情况:
乙说:“我没有偷,是丙偷的。” —— B+C=1
第三种情况:
丙说:“甲没有偷,是乙偷的。” —— A+B=1
第四种情况:
丁说:“我没有偷。” —— A+B+C+D=1

这里我们等于1的目的不是为了求答案,而是表示可疑的意思。

前三种情况下

B+D==1 && B+C==1 && A+B==1

第四种情况,丁的话表示每个人都有嫌疑,而且嫌疑平均,我们可以理解为

           if(i == 1){A=0;  /*甲不是窃贼,测试乙是否是窃贼*/B=1;}if(i == 2){B=0;  /*甲乙均不是窃贼,测试丙是否是窃贼*/C=1;}if(i == 3){C=0;  /*甲乙丙都不是窃贼,测试丁是否是窃贼*/D=1;}

答案

因此,我们的完整代码如下:

//警察审问4名窃贼嫌疑犯。现在已知,这4人当中仅有一名是窃贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎。//这4个人给警察的回答如下。//甲说:“乙没有偷,是丁偷的。”
//乙说:“我没有偷,是丙偷的。”
//丙说:“甲没有偷,是乙偷的。”
//丁说:“我没有偷。”#include<stdio.h>
int main()
{int i, A=1, B=0, C=0, D=0;  /*先假定甲是窃贼*/for(i=1; i<=4; i++)if(B+D==1 && B+C==1 && A+B==1)  /*测试甲乙丙丁谁是窃贼,符合该条件的即为窃贼*/break;else{if(i == 1){A=0;  /*甲不是窃贼,测试乙是否是窃贼*/B=1;}if(i == 2){B=0;  /*甲乙均不是窃贼,测试丙是否是窃贼*/C=1;}if(i == 3){C=0;  /*甲乙丙都不是窃贼,测试丁是否是窃贼*/D=1;}}/*输出结果*/printf("判断结果:\n");if(i == 1)printf("甲是窃贼\n");if(i == 2)printf("乙是窃贼\n");if(i == 3)printf("丙是窃贼\n");if(i == 4)printf("丁是窃贼\n");return 0;
}

好啦,答案就出来啦!真诚的希望我的回答能够帮助到正好遇到这个问题的同学。

c语言经典小程序例题:谁是凶手相关推荐

  1. c语言编写数据存储的游戏,c语言经典小程序和c语言编写的小游戏带注释(自动保存的).doc...

    c语言经典小程序和c语言编写的小游戏带注释(自动保存的) 1.写一个定时?关机的小程?序,可以立即关?闭计算机,也可以一段?时间后关闭?计算机. #inclu?de #inclu?de #inclu? ...

  2. 常用c语言小程序,c语言经典小程序汇总大全

    网上有很多的人说编程有多么多么无聊,其实:不要管别人怎么说,别人说什么,做你自己喜欢做的事就好.坚持下来,你会发现编程的乐趣的.当然,如果你觉得学习编程语言很痛苦,坚持了一段时间后无果,南无果断放弃未 ...

  3. 夸奖人的C语言小程序,c语言10个经典小程序

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...

  4. java游戏小程序_javaCode 158个经典小程序,里面包含各种小游戏代码,能提高初学者 趣,同事可以从中学习 Games 246万源代码下载- www.pudn.com...

    文件名称: javaCode下载  收藏√  [ 5  4  3  2  1 ] 所属分类: Games 开发工具: Java 文件大小: 543 KB 上传时间: 2015-10-25 下载次数: ...

  5. 开发语音录入_语言翻译小程序app开发 解决了人们的语言障碍问题

    随着经济的发展,人们经济水平的提高,促进了国际交流越来越频繁,人们出国的次数也是越来越多.但是语言交流也是日常的障碍,给诸多的人带来不便.出国旅游要是语言不通还会影响旅游质量.语言翻译小程序的开发,便 ...

  6. c语言有啥简单的小程序,c语言-简单小程序-简单算法

    <c语言-简单小程序-简单算法>由会员分享,可在线阅读,更多相关<c语言-简单小程序-简单算法(19页珍藏版)>请在人人文库网上搜索. 1.以下小程序都在 TC2.0 中运行通 ...

  7. c语言经典游戏,C语言——经典小游戏——打砖块

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言--经典小游戏--打砖块 玩法:按A与D控制球拍的移动,按S暂停游戏 百度网盘下载:http://pan.baidu.com/s/1o64ECTc ...

  8. c语言50个小程序,C语言50小程序.doc

    C语言50小程序 一 基础部分: 输入1~10之间的一个数字,输出它对应的英文单词. /* Note:Your choice is C IDE */ #include "stdio.h&qu ...

  9. 日本发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个,根据供词.写一个程序判定谁是凶手.

    日本发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个.以下是供词. A说:不是我 B说:是C C说:是D D说:C在胡说 已知3个人说了真话,1个人说的是假话. 现根据这些信息,写一个程 ...

最新文章

  1. [Android]ListView性能优化之视图缓存
  2. 破2.5万亿美元,全球市值第一「巨无霸」尾随Meta杀入元宇宙!
  3. 员工考勤信息管理小程序
  4. 我爸和在我们小区里的一位老大爷
  5. Javascript入门视频教程
  6. bash-shell高级编程-变量的赋值
  7. python3解释器执行long(10)的结果为_Python3解释器执行'AB2C3D'.lower().title()的结果是( )。...
  8. 在欲而无欲,居尘不染尘
  9. 唐山师范学院计算机二级报名,2017年3月唐山师范学院计算机等级考试报名时间(河北)...
  10. C语言变量未赋初值时,输出为乱七八糟解释
  11. gitlab搭建之互备模式
  12. JS中setAttribute的兼容性问题(摘自leejersey)
  13. JDK+MyEclipse+Tomcat的配置(修改Tomcat 6.x的端口)
  14. 系统学习NLP(十九)--文本分类之FastText
  15. 【酷玩集团】文档管理手册
  16. atitit.研发企业与团队文化的结构框架 企业文化建设方案3.0
  17. word 条件多项式公式对齐
  18. 锐捷S6248三层交换机syslog配置
  19. java沙漏_(java)五大常用算法
  20. 计算机网络基础9:IPV6寻址方法

热门文章

  1. 前端-js生成pdf文件
  2. ABOV单片机UART串口通讯实现讲解及示例代码-[MC96F6332D]
  3. 【Unity探究】物理碰撞实验
  4. MySQL 数据库 之 高级 SQL 语句(常用查询,正则表达式,运算符,库函数,存储过程)
  5. PPT模板免费下载工具
  6. 分子量(ACM/ICPC)详细解答
  7. windowXP快速关机法
  8. 基于神经网络的毕设题目_自动化毕业设计题目
  9. 查找数组中两两之和等于X的整数对(C语言实现)
  10. 常见的前端大厂ui库