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

标头
无人生还


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

目录

  • 前言
    • 编程起因
    • 项目介绍
      • 情节简介
      • 讨论内容
      • 找出凶手
  • 设计思路
    • 1.整体逻辑
      • 方法一
      • 方法二
    • 2. 具体逻辑
      • 方法一
      • 方法二
  • 代码展示
    • 方法一:依次假设法(最容易想到的方法)
    • 方法二 :逻辑推断法(较容易想到,速度最快,结构最简单)
  • 效果展现
  • 结语


前言

编程起因

最近刚刷到过一个有关逻辑判断的猜凶手的题目,于是想着能不能将其带入到无人生还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 (d = 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年。
    该小说讲述了一起发生在荒岛之上的连环谋杀案。《无人生还》融合了犯罪小说之外的故事类型。如文中对不少人物,特别是布伦特小姐和维拉的心理活动有着大段描写,有些段落接近意识流小说的写法。 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/86264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Weblogic反序列化漏洞(CVE-2018-2628/CVE-2023-21839复现)

内容目录 Weblogic反序列化漏洞(CVE-2018-2628/CVE-2023-21839)weblogic中间件CVE-2018-2628漏洞描述影响版本漏洞复现修复方案 CVE-2023-21839漏洞描述影响版本漏洞复现修复方案 Weblogic反序列化漏洞(CVE-2018-2628/CVE-2023-21839) weblogic中间件 WebLogic是美国Oracle公司…

在给应用ASO优化时要注意些什么

应用名称是搜索引擎优化和转化率优化非常重要的元素。用户在搜索结果页面中看到我们的应用程序&#xff0c;这是他们决定是否想要更多地了解我们应用的地方。当用户已经在查看产品页面时&#xff0c;应用程序名称也会影响转化率&#xff0c;如果列表元数据有吸引力&#xff0c;…

异步回调

Future 设计的初衷&#xff1a;对将来的某个事件的结果进行建模 package com.kuang.future;import com.kuang.pc.C;import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.uti…

静态路由与默认路由配置

实验原理&#xff1a; 路由分类 &#xff08;1&#xff09;根据目的网络的不同&#xff0c;路由可以划分为&#xff1a; 特定网络路由&#xff1a;目的网络为目的主机所在网络的IP地址&#xff0c;其子网掩码表示的前缀长度为32位&#xff08;对于IPv4地址&#xff09;&…

stm32_标准库_中断_按键点灯|蜂鸣器

配置流程 需要对AFIO、EXTI、NVIC、GPIOB进行配置形成通路将中断连接至CPU APB2总线连接的寄存器 LED灯代码 #include "stm32f10x.h" // Device header #include "Delay.h"GPIO_InitTypeDef GIPO_InitStruct;//结构体配置GPIO EXTI_InitTypeDef EXTI_…

WPS文件找回怎么做?文件恢复,4个方法!

“我平时习惯了用wps来记录一些工作心得或重点&#xff0c;不知道什么原因&#xff0c;有些很重要的文件莫名不见了&#xff0c;有什么方法可以帮我找回wps文件吗&#xff1f;” wps作一个常用的办公软件&#xff0c;有效的提高了我们的工作效率。在日常使用wps时&#xff0c;可…

非常详细的git-flow分支管理流程配置及使用

非常详细的git-flow分支管理流程配置及使用。 git-flow有两个涵义,一个是指软件开发领域的版本管理流程Gitflow。另一个是指git命令工具git flow。 目前业界主流的版本管理流程是Gitflow 和 trunk-based。 Gitflow流行的比较早。但是目前的流行度要低于 trunk-based模式工作…

MySQL8.0版安装教程 + Workbench可视化配置教程(史上最细、一步一图解)

文章目录 一、安装MySQL1、选择版本&#xff0c;点击“Download”进行下载2、双击下载好的安装包&#xff0c;点击运行3、选择安装类型为“Custom”4、依次进行选择&#xff0c;选到MySQL Servers 8.0.33 -X64&#xff0c;点击向右的箭头5、选中MySQL Servers 8.0.33 -X64&…

Mysql004:用户管理

前言&#xff1a;本章节讲解的是mysql中的用户管理&#xff0c;包括&#xff08;管理数据用户&#xff09;、&#xff08;控制数据库的访问权限&#xff09;。 目录 1. 查询用户 2. 创建用户 3. 修改用户密码 4. 删除用户 5. 权限控制 1. 查询用户 在mysql数据库中&#xff0…

古代有没有电子元器件?

手机&#xff0c;电脑&#xff0c;电视等等电子产品&#xff0c;无时无刻充斥在我们的生活中&#xff0c;如果有一天突然没有了这些功能多样的电子产品&#xff0c;估计大部分人都会一时之间难以适应。 这就好比正在上网&#xff0c;结果突然被人断了网&#xff0c;导致无网络连…

基于vue3 + ant-design 自定义SVG图标iconfont的解决方案;ant-design加载本地iconfont.js不显示图标问题

基于vue3 ant-design 自定义SVG图标iconfont的解决方案&#xff1b; ant-design加载本地iconfont.js不显示图标问题 一、准备工作 1、首先去阿里巴巴矢量图标库自定义添加自己的图标&#xff1b;网站地址https://www.iconfont.cn/ 整个步骤是&#xff1a;选择图标–添加到项…

变压器(电抗器) 红外测温作业指导书

1 范围 本标准化作业指导书规定了变压器(电抗器)红外测温(一般检测)工作的准备工作、测温流程图、 现场操作方法、测温周期和标准、测温记录管理等要求。 本标准化作业指导书适用于指导变压器(电抗器)红外测温的一般性检测工作。 2 规范性引用文件 下列文件对于本文件的应用…

积木报表 JimuReport v1.6.2-GA5版本发布—高危SQL漏洞安全加固版本

项目介绍 一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报…

Linux复习-安装与熟悉环境(一)

这里写目录标题 虚拟机ubuntu系统配置镜像Linux命令vi编辑器3个模式光标命令vi模式切换命令vi拷贝与粘贴命令vi保存和退出命令vi的查找命令vi替换命令 末行模式复制、粘贴、剪切gcc编译器 虚拟机 VMware16 官网下载&#xff1a;vmware官网 网盘下载&#xff1a; 链接&#xff…

Pytorch 深度学习实践 day01(背景)

准备 线性代数&#xff0c;概率论与数理统计&#xff0c;Python理解随机变量和分布之间的关系 人类智能和人工智能 人类智能分为推理和预测 推理&#xff1a;通过外界信息的输入&#xff0c;来进行的推测 预测&#xff1a;例如&#xff0c;看到一个真实世界的实体&#xff…

idea更改java项目名

做了一个普通的java项目&#xff08;使用socket进行网络通信的练手项目&#xff09;&#xff0c;需要更改项目名&#xff0c;更改过程记录在这里。 修改项目名可能会出现很多错误&#xff0c;建议先备份当前项目 1.在idea里&#xff0c;右键项目名——》选择Refactor——》选择…

容器技术所涉及Linux内核关键技术

目录 一、容器技术前世今生 1.1 1979年 — chroot 1.2 2000年 — FreeBSD Jails 1.3 2001年 — Linux VServer 1.4 2004年 — Solaris容器 1.5 2005年 — OpenVZ 1.6 2006年 — Process容器 1.7 2007年 — Control Groups 1.8 2008年 — LXC 1.9 2011年 — Warden 1…

Nginx 代理 MySQL 连接

文章目录 Nginx 代理 MySQL 连接1. 前言2. 部署 Nginx&#xff0c;MySQL3. ngx_stream_core_module 配置方式3.1 stream3.2 server3.3 listen3.4 配置示例 4. 限制访问 IP4.1 allow4.2 deny4.3 配置示例 5. 综合案例 Nginx 代理 MySQL 连接 原文地址&#xff1a;https://mp.wei…

如何用好免费的ChatGPT

如何用好免费的ChatGPT 前言ChatGPT使用入口在线体验地址&#xff1a;点我体验 ChatGPT介绍ChatGPT初级使用技巧初级使用技巧&#xff1a;清晰明了的问题表达 ChatGPT中级使用语法中级使用语法&#xff1a;具体化问题并提供背景信息 ChatGPT高级使用高级使用&#xff1a;追问、…