C语言——猜凶手

题目:

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

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

A说:不是我。

B说:是C。

C说:是D。

D说:C在胡说

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

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

=========================================================================

思路:
总体思路:
依次假设每个人是凶手进行判断,

看4人说的话是不是 1假3真,是则证明假设的该人就是凶手

定义变量:

char killer = 0; -- 凶手

因为 a b c d 的ASCII码值是连着的,

所以有 a+1=b,以此类推,依次假定每个人是凶手,判断情况

(使用 for循环 依次假定每个人是凶手)

把4句话,4个情况列出来,

情况 1假3真 ,真为 1 ,假为 0 ,

4种情况 "相加"==3 ,

(使用 if条件判断语句 实现)

即 当前假定的人就是凶手,进行打印
实现代码:

cpp 复制代码
#include <stdio.h>
int main()
{
	//定义变量:
	char killer = 0; //凶手
	//依次假定每个人是凶手:
	for (killer = 'a'; killer <= 'd'; killer++)
	//因为 a b c d 的ASCII码值是连着的,所以a+1==b,
	//以此类推,依次假定每个人是凶手,判断情况
	{
		//把4个情况列出来:
		if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3)
		//把4句话,4个情况列出来,情况1假3真,真为1,假为0,4种情况"相加"==3,符合就是凶手进行打印
		{
			//符合则进行打印
			printf("凶手是:%c\n", killer);
			break;
		}
	}
	return 0;
}
相关推荐
麦兜*1 小时前
Swift + Xcode 开发环境搭建终极指南
开发语言·ios·swiftui·xcode·swift·苹果vision pro·swift5.6.3
Coovally AI模型快速验证2 小时前
农田扫描提速37%!基于检测置信度的无人机“智能抽查”路径规划,Coovally一键加速模型落地
深度学习·算法·yolo·计算机视觉·transformer·无人机
pusue_the_sun2 小时前
数据结构:二叉树oj练习
c语言·数据结构·算法·二叉树
萧鼎2 小时前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
RaymondZhao343 小时前
【全面推导】策略梯度算法:公式、偏差方差与进化
人工智能·深度学习·算法·机器学习·chatgpt
艾伦~耶格尔3 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
zhangfeng11333 小时前
DBSCAN算法详解和参数优化,基于密度的空间聚类算法,特别擅长处理不规则形状的聚类和噪声数据
算法·机器学习·聚类
yujkss3 小时前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx9910133 小时前
小程序开发APP
开发语言·人工智能·python·yolo
啊阿狸不会拉杆4 小时前
《算法导论》第 32 章 - 字符串匹配
开发语言·c++·算法