C语言有趣的编程题:最详细解答谁是凶手?
前言
提示:今天遇到一道很有意思的题目:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为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语言有趣的编程题:最详细解答谁是凶手?相关推荐
- 分析编程题c语言,二级C语言部分上机编程题详细分析
<二级C语言部分上机编程题详细分析>由会员分享,可在线阅读,更多相关<二级C语言部分上机编程题详细分析(6页珍藏版)>请在人人文库网上搜索. 1.二级C语言部分上机编程题详细分 ...
- c语言编程题库this is a c program,C语言末复习题编程题部.doc
C语言末复习题编程题部.doc 编程题目 1.在考生目录下,要求程序 PROG1.C 的功能是 按下面公式的前 1000 项,求的近似值 2 2 4 4 6 6 8 8 2n 2n * * * * * ...
- 水仙花亲密数c语言,★2015年3月15日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄.doc...
★2015年3月15日江苏省高校计算机等级考试二级C语言1套上机题(C01)及其解答_张柏雄 目录 C01(上午8:00-9:10)原题 解答 附录:通用的自编函数 2015春江苏省高校计算机二级C语 ...
- MOOC 苏小红C语言 第四周编程题
点我查看MOOC苏小红C语言程序设计精髓所有编程题 目录 1.检测用户错误输入(4分) 2.闰年判断(6分) 3.程序改错v1.0(7分) 4.字符类型判断(4分) 5.快递费用计算(7分) 6.数位 ...
- 大一下c语言期末考试编程题,大一上期末C语言编程题
大一上期末C语言编程题 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 用公式 π/4 = 1-1/3+1/5-1/7--,编程序 ...
- 全国计算机二级编程题100道,计算机二级C语言100道编程题
国家计算机二级100道编程题 #include #include int fun(int score[], int m, int below[]) { int i,k=0; float av=0.0; ...
- 翁恺-C语言3.0编程题
第二周的课程学完了,但是习题网站已关闭了,在第三周课程中 PAT解释中有三道编程相关的题目 交作业啦!坚持go go go 注:int型 printf和scanf中为%d, double型 ...
- C 语言解 常见编程题
目录 文章目录 目录 常见编程题各解法 0 交换值 1 累计和 2 Fibonacci 数列 ① 第N项 / 前N项 ② 前N项和 3 水仙花数 4 最大公约数与最小公倍数 5 完数 6 N的阶乘 ① ...
- 2019 快手校招编程题两道解答
[编程题] 二进制中有多少个1 时间限制:1秒 空间限制:32768K 把一个32-bit整型转成二进制,其中包含多少个1,比如5的二进制表达是101,其中包含2个1 输入描述: 输入为整型(十进制) ...
最新文章
- Samba 4.10 发布,完全支持 Python 3
- 阿里云为澳门装上“城市大脑”
- 深入浅出 RecyclerView
- SQL Server 将一个表中字段的值复制到另一个表的字段中
- 五个角度,来梳理下产品经理的分类和职业发展方向
- 想捧金饭碗? 修炼这25项技能就够了!
- OpenCV中神经网络的应用
- 关于 unable to load shared object 'C:\Program Files\R\R-3.0.3\library\stats\libs\i386\stats.dll'
- php ftps,使用PHP Curl的FTPS获得部分下载
- Exploring Sparsity in Image Super-Resolution for Efficient Inference
- [POI2012] 约会 Rendezvous
- 测试所用的技术(黑盒、白盒测试等)
- Python开发培训怎么样?
- 骨传导加动圈,这款Dacom耳机有何出众之处?开箱验证
- UE4场景“郊区”:建模技术,使用Substance纹理化和顶点绘制等
- 360流量监控独立版
- Vue----vue-cli
- SIMCOM800C GSM模组(2G通信模组)AT指令测试 TCP 通信过程
- 职高计算机论文,浅谈职高计算机的教学--专业论文.doc
- python中迭代是什么意思_Python中的“迭代”详解
热门文章
- 同时验证手机号和座机号的正则表达式(支持400电话号码)
- 安装算量软件_识别开关线根数功能
- 计算机软件展望未来,计算机软件科学家谢涛:星辰大海,求思进取
- java程序u盘照片自动复制粘贴,java兑现u盘指定内容的自动复制
- (转)雷军:努力工作,克制贪婪,是世界上最笨也最高明的办法
- Google 联合美国专利局提供海量专利和商标数据下载
- linux使用 source etc/profile
- 【Linux】组管理和权限管理
- 管理物联网设备?改变未来社会结构?这是关于区块链的更多想象
- The Fortified Forest UVALive - 5211 [二进制枚举+凸包周长]