前言

提示:今天遇到一道很有意思的题目:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。

一、解题思路

示例:我们首先由题干得知3个人说了真话,1个人说的假话,那么我们可以把这四个人的话看做4个已知条件,视1为真,0为假。那么这4个条件会有3个1和1个0,我们把这里作为切入口。

二、解题步骤

代码如下(示例):

假设k代表杀手,因为A~D在ASCII码表上是连续的,我们可以通过这个来遍历他们,然后,分别对应ABCD四人说的话:
A:不是我——k!=A
B:是C——k= =C
C:是D——k= =d
D:c在胡说——k!=D
每个条件若成立则为1,每次遍历一下,如果满足最终条件:4个条件中三个为真,则那个killer

#include<stdio.h>
int main()
{char k;for (k = 'A';k <= 'D';k++){if ((k != 'A') + (k == 'C') + (k == 'D') + (k != 'D')==3){printf("killer is %c", k);}}return 0;
}

最终打印出 killer is C


总结

本题的精髓在于能不能快速的反映出可以把4个人的话分别作为一个条件,并找出四人的话只有三人真这个最终约束条件。好啦,本文就到这里,祝读者学习愉快!

C语言有趣的编程题:最详细解答谁是凶手?相关推荐

  1. 分析编程题c语言,二级C语言部分上机编程题详细分析

    <二级C语言部分上机编程题详细分析>由会员分享,可在线阅读,更多相关<二级C语言部分上机编程题详细分析(6页珍藏版)>请在人人文库网上搜索. 1.二级C语言部分上机编程题详细分 ...

  2. c语言编程题库this is a c program,C语言末复习题编程题部.doc

    C语言末复习题编程题部.doc 编程题目 1.在考生目录下,要求程序 PROG1.C 的功能是 按下面公式的前 1000 项,求的近似值 2 2 4 4 6 6 8 8 2n 2n * * * * * ...

  3. 水仙花亲密数c语言,★2015年3月15日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄.doc...

    ★2015年3月15日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄 目录 C01(上午8:00-9:10)原题 解答 附录:通用的自编函数 2015春江苏省高校计算机二级C语 ...

  4. MOOC 苏小红C语言 第四周编程题

    点我查看MOOC苏小红C语言程序设计精髓所有编程题 目录 1.检测用户错误输入(4分) 2.闰年判断(6分) 3.程序改错v1.0(7分) 4.字符类型判断(4分) 5.快递费用计算(7分) 6.数位 ...

  5. 大一下c语言期末考试编程题,大一上期末C语言编程题

    大一上期末C语言编程题 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 用公式 π/4 = 1-1/3+1/5-1/7--,编程序 ...

  6. 全国计算机二级编程题100道,计算机二级C语言100道编程题

    国家计算机二级100道编程题 #include #include int fun(int score[], int m, int below[]) { int i,k=0; float av=0.0; ...

  7. 翁恺-C语言3.0编程题

    第二周的课程学完了,但是习题网站已关闭了,在第三周课程中 PAT解释中有三道编程相关的题目 交作业啦!坚持go  go  go 注:int型    printf和scanf中为%d, double型  ...

  8. C 语言解 常见编程题

    目录 文章目录 目录 常见编程题各解法 0 交换值 1 累计和 2 Fibonacci 数列 ① 第N项 / 前N项 ② 前N项和 3 水仙花数 4 最大公约数与最小公倍数 5 完数 6 N的阶乘 ① ...

  9. 2019 快手校招编程题两道解答

    [编程题] 二进制中有多少个1 时间限制:1秒 空间限制:32768K 把一个32-bit整型转成二进制,其中包含多少个1,比如5的二进制表达是101,其中包含2个1 输入描述: 输入为整型(十进制) ...

最新文章

  1. Samba 4.10 发布,完全支持 Python 3
  2. 阿里云为澳门装上“城市大脑”
  3. 深入浅出 RecyclerView
  4. SQL Server 将一个表中字段的值复制到另一个表的字段中
  5. 五个角度,来梳理下产品经理的分类和职业发展方向
  6. 想捧金饭碗? 修炼这25项技能就够了!
  7. OpenCV中神经网络的应用
  8. 关于 unable to load shared object 'C:\Program Files\R\R-3.0.3\library\stats\libs\i386\stats.dll'
  9. php ftps,使用PHP Curl的FTPS获得部分下载
  10. Exploring Sparsity in Image Super-Resolution for Efficient Inference
  11. [POI2012] 约会 Rendezvous
  12. 测试所用的技术(黑盒、白盒测试等)
  13. Python开发培训怎么样?
  14. 骨传导加动圈,这款Dacom耳机有何出众之处?开箱验证
  15. UE4场景“郊区”:建模技术,使用Substance纹理化和顶点绘制等
  16. 360流量监控独立版
  17. Vue----vue-cli
  18. SIMCOM800C GSM模组(2G通信模组)AT指令测试 TCP 通信过程
  19. 职高计算机论文,浅谈职高计算机的教学--专业论文.doc
  20. python中迭代是什么意思_Python中的“迭代”详解

热门文章

  1. 同时验证手机号和座机号的正则表达式(支持400电话号码)
  2. 安装算量软件_识别开关线根数功能
  3. 计算机软件展望未来,计算机软件科学家谢涛:星辰大海,求思进取
  4. java程序u盘照片自动复制粘贴,java兑现u盘指定内容的自动复制
  5. (转)雷军:努力工作,克制贪婪,是世界上最笨也最高明的办法
  6. Google 联合美国专利局提供海量专利和商标数据下载
  7. linux使用 source etc/profile
  8. 【Linux】组管理和权限管理
  9. 管理物联网设备?改变未来社会结构?这是关于区块链的更多想象
  10. The Fortified Forest UVALive - 5211 [二进制枚举+凸包周长]