【C语言题目】34.猜凶手

文章目录


作业标题

猜凶手

作业内容

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。

以下为4个嫌疑犯的供词:

A说:不是我。

B说:是C。

C说:是D。

D说:C在胡说

已知3个人说了真话,1个人说的是假话。

现在请根据这些信息,写一个程序来确定到底谁是凶手。


2.解题思路

简单的说,就是3个人说真话,1个人说假话,来判断凶手是谁。

提取ABCD说的关键信息:不是A,是C,是D,不是D

这里形容的都是凶手,也就是把凶手和这些信息对比,就可以了。


3.具体代码

c 复制代码
#include <stdio.h>
 
int main()
{
	char killer;
	for(killer='A'; killer<='D'; killer++)//巧妙地利用ASCII 从A-D进行循环和比较
	{
		//下面分别对应每个人都供词  不是A 是C     是D    不是D
		if (((killer!='A') + (killer=='C') + (killer=='D') + (killer!='D'))==3)  //这里等于3表示 有三个人说了真话
		{
			printf("%c是凶手\n",killer);
			break;
		}
	}
	return 0;
}

打印:

相关推荐
2301_816651228 分钟前
嵌入式C++低功耗设计
开发语言·c++·算法
czlczl2002092524 分钟前
JVM创建对象过程
java·开发语言
qq_4160187234 分钟前
分布式缓存一致性
开发语言·c++·算法
SuperEugene39 分钟前
Vue Router 实战规范:path/name/meta 配置 + 动态 / 嵌套路由,统一团队标准|状态管理与路由规范篇
开发语言·前端·javascript·vue.js·前端框架
干啥啥不行,秃头第一名42 分钟前
STL容器内部实现剖析
开发语言·c++·算法
2401_831824961 小时前
内存泄漏检测与防范
开发语言·c++·算法
includei1 小时前
【JavaScript】华为机试_HJ20_密码验证合格程序
开发语言·javascript·华为
肖恭伟1 小时前
Cursor Superpowers 零基础开发 Qt 界面
开发语言·qt
liuyao_xianhui1 小时前
优选算法_分治_快速排序_归并排序_C++
开发语言·数据结构·c++·算法·leetcode·排序算法·动态规划
qq_283720052 小时前
Qt QML 中为 CheckBox 设置鸿蒙字体(HarmonyOS Sans)——适配 Qt 5.6.x 与 Qt 5.12+
开发语言·qt·harmonyos