C语言每日一题(10):无人生还

2023-09-22 15:21:48

标头
无人生还


  • 文章主题:无人生还🔥
  • 所属专栏:C语言每日一题📗
  • 作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶
  • 个人主页:[₽]的个人主页🏄🌊


前言

编程起因

最近刚刷到过一个有关逻辑判断的猜凶手的题目,于是想着能不能将其带入到无人生还1的背景中去重新设计一下这个题目,增强题目趣味性的同时还能更加好的锻炼我们的编程思维,于是有了这篇文章的设计。

项目介绍

情节简介

士兵岛上现在只剩下了四个人,眼看着桌上的小士兵只剩下了四个,四个人更加的诚惶诚恐,生怕下一个对应童谣死的就是自己,剩下的人分别是维拉教师,隆巴德队长,阿姆斯特朗医生以及布洛尔侦探(这里简用A,B,C,D进行标记)。为了避免被单独被杀,四个人聚集在了一起,他们一边互相猜忌,一边讨论谁最有可能伪造了自己独处时的经历,这个人要么和欧文先生串通一气,要么就是欧文先生本人。

讨论内容

讨论内容简记如下:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说。

找出凶手

假设二刷《无人生还》的你依稀记得这四个人中有三个说的是假话一个说的是真话,那么伪造经历的到底是谁呢?请运用编程来查出这个人。


设计思路

1.整体逻辑

方法一

运用依次假设法以此判断每个人是伪造者时条件是否为真

方法二

运用逻辑推断法直接得出要么D是伪造者,要么D不是,在依次判断条件,真就是D,假就是C。

2. 具体逻辑

方法一

设置四个变量代表凶手,分别将其赋值为0,从a开始一次通过赋值为1来假设伪造经历的人,在运用分支语句将四句话变成判断语句的形式在相加,如果三真一假成立的话则和为1,判断其和是否为3,若为3,则找出凶手,若不为一,则将a赋值回1洗清a的嫌疑后再继续假设下一个人。

方法二

既然四个人说的话中三真一假,仔细观察可知C和D的话互相矛盾,C说D是伪造经历的那个人,D说C说谎,那么只要假设D是否是这个人即可,如果D是时条件判断也是真就是D,反之就是C。


代码展示

方法一:依次假设法(最容易想到的方法)

#include <stdio.h>
int main()
{
	int a = 0, b = 0, c = 0, d = 0;
	if (a = 1)//假设伪造者是A
	{
		if (((a != 1) + (c == 1) + (d == 1) + !(d == 1)) == 3)//判断是否符合三假一真条件
		{
			printf("The killer is A\n");
		}
		else
		{
			a = 0;
		}
	}
	if (b = 1)
	{
		if (((a != 1) + (c == 1) + (d == 1) + !(d == 1)) == 3)
		{
			printf("The killer is B\n");
		}
		else
		{
			b = 0;
		}
	}
	if (c = 1)
	{
		if (((a != 1) + (c == 1) + (d == 1) + !(d == 1)) == 3)
		{
			printf("The killer is C\n");
		}
		else
		{
			c = 0;
		}
	}
	if (a = 1)
	{
		if (((a != 1) + (c == 1) + (d == 1) + !(d == 1)) == 3)
		{
			printf("The killer is D\n");
		}
		else
		{
			d = 0;
		}
	}
	return 0;
}

方法二 :逻辑推断法(较容易想到,速度最快,结构最简单)

#include <stdio.h>
int main()
{
	int a = 0, b = 0, c = 0, d = 0;
	if (d = 1)//假设伪造者是D
	{
		if (((a != 1) + (c == 1) + (d == 1) + !(d == 1)) == 3)//判断是否符合三假一真条件
		{
			printf("The killer is D\n");//是则伪造者是D
		}
		else
		{
			printf("The killer is C\n");//不是伪造者只能是C
		}
	}
	return 0;
}

效果展现

效果展现


结语

以上就是我对无人生还这个项目的解题思路,代码以及效果展示,那么你猜到凶手是谁了吗?😄希望对你的C语言学习有所帮助!作为刚学编程的小白,可能在一些设计逻辑方面有些不足,欢迎评论区进行指正!看都看到这了,点个小小的赞或者关注一下吧(当然三连也可以~),你的支持就是博主更新最大的动力!让我们一起成长,共同进步!


  1. 《无人生还》(And Then There Were None,1939年发行时书名为Ten Little Niggers,后改为Ten Little Indians),是英国推理小说作家阿加莎·克里斯蒂创作的长篇小说,出版于1939年。
    该小说讲述了一起发生在荒岛之上的连环谋杀案。《无人生还》融合了犯罪小说之外的故事类型。如文中对不少人物,特别是布伦特小姐和维拉的心理活动有着大段描写,有些段落接近意识流小说的写法。 ↩︎

更多推荐

如何判断自己的服务器是不是中了勒索病毒,勒索病毒解密数据恢复

勒索病毒日益横行,给企业的生产经营和个人数据造成了极大的影响。但是对单一的企业和个人而言,遭受勒索病毒攻击毕竟是低频率事件,这也导致很多人中招之后,无法判断出具体的问题,进而没有及时采取应对措施,导致事态和损失进一步扩大。接下来云天数据恢复中心将告诉大家如何判断自己的服务器是不是中了勒索病毒。1.所有文件扩展名都发生了

金蝶云星空与聚水潭对接集成物料查询连通商品上传(新)(物料主数据同步策略)

金蝶云星空与聚水潭对接集成物料查询连通商品上传(新)(物料主数据同步策略)数据源系统:金蝶云星空金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践,面向事业部制、多地点、多工厂等运营协同与管控型企业及集团公司,提供一个通用的ERP服务平台。K/3Cloud支持的协同应用包括但不限于:集中/分散销售、

广告牌安全监测系统,用科技护航大型广告牌安全

城市的街头巷尾,处处可见高耸的广告牌,它们以各种形式和颜色吸引着行人的目光。然而,作为城市景观的一部分,广告牌的安全性常常被我们所忽视。广告牌量大面大,由于设计、材料、施工方法的缺陷,加上后期的检查、维护和不定期检测的关系,在天气环境影响下,就有可能造成脱落事故的发生。2023年8月6日,福建一重达7吨的牌坊发生坠落,

【PyTorch攻略(1/7)】 张量基本语法

一、说明Tensor是一种特殊的数据结构,与数组和矩阵非常相似。在PyTorch中,我们使用张量对模型的输入和输出以及模型的参数进行编码。张量类似于NumPy和ndarray,除了张量可以在GPU或其他硬件加速器上运行。事实上,张量和NumPy数组通常可以共享相同的底层内存地址,具有称为桥接到np标签的功能,这消除了复

VR全景展示的功能有哪些?你了解多少?

VR全景展示作为一种全新的视觉体验技术,能够为人们带来强烈的视觉效果以及沉浸式的观感,在旅游、房地产、车展、博物馆等都有着十分广泛的应用。这种富媒体技术,具有很好的交互性和沉浸感,能够带给大家更好的体验,那么VR全景展示的功能有哪些呢?1、沉浸式交互体验VR全景展示为观众提供了更加真实、更加具有沉浸式的体验,以720°

技术贴 | 深度解析 PostgreSQL Protocol v3.0(二)— 扩展查询

引言PostgreSQL使用基于消息的协议在前端(客户端)和后端(服务器)之间进行通信。该协议通过TCP/IP和Unix域套接字支持。《深度解析PostgreSQLProtocolv3.0》系列技术贴,将带大家深度了解PostgreSQLProtocolv3.0(在PostgreSQL7.4及更高版本中实现,有关早期协

Greenplum实用工具-gpfdist

注:本文翻译自https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/utility_guide-ref-gpfdist.html向Greenplum数据库段提供数据文件或从数据库段写入数据文件。语法gpfdist[-d<directory>][

爬虫 — 字体反爬

目录一、安装字体软件FontCreator二、百度智能云文字识别三、案例一四、案例二五、案例三六、安装Tesseract1、安装步骤2、配置环境3、使用Python识别图片信息七、案例四一、安装字体软件FontCreator点击下载字体软件FontCreator安装包1、同意协议,点击Next;2、更改存放位置,点击N

CPP-Templates-2nd--第十九章 萃取的实现 19.7---

目录19.7其它的萃取技术19.7.1If-Then-Else19.7.2探测不抛出异常的操作19.7.3萃取的便捷性(TraitsConvenience)别名模板和萃取(AliasTemplatesAndTraits)变量模板和萃取(VariableTemplatesandTraits)19.8类型分类(TypeCl

第一章:最新版零基础学习 PYTHON 教程(第二节 - Python语言优势及应用)

Python是一种高级、解释型、通用动态编程语言,注重代码的可读性。与Java和C相比,它的程序通常较小。它由开发人员GuidoVanRossum于1991年创立。Python跻身世界上最流行、增长最快的语言之列。Python是一种强大、灵活且易于使用的语言。此外,Python社区也非常活跃。它被许多组织使用,因为它支

【漏洞复现】广联达OA漏洞合集(信息泄露+SQL注入+文件上传)

文章目录声明广联达OA存在信息泄露一、漏洞概述二、漏洞复现三、修复建议广联达Linkworks办公OASQL注入漏洞+后台文件上传漏洞一、产品简介二、漏洞概述三、复现环境四、修复建议声明请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,

热文推荐