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.xdnf.cn/news/140564.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

全套配置细节:缺省路由实验配置

1、实验目的 掌握默认路由的适用场合和配置方法 2、实验拓扑 默认路由的配置 3、实验步骤 &#xff08;1&#xff09;配置网络连通性如下。 1&#xff09;R1 的配置如下 &#xff1a; <Huawei>system-view Enter system view, return user view with CtrlZ. [Huaw…

网络安全——(黑客)自学

想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01;&#xff01;&#xff01; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队…

Xshell工具连接本地虚拟机Linux系统

你知道的越多&#xff0c;你不知道的越多&#xff1b;本文仅做记录&#xff0c;方便以后备阅。希望也能帮到正在看这篇文章的你。 使用Xshell工具连接Linux系统具有方便&#xff0c;易于操作等诸多特点。对于Xshell的介绍&#xff0c;我就不详细说了。我相信百度百科上的介绍更…

Python实现MYSQL蜜罐

1 LOAD DATA INFILE介绍 首先开启一个Mysql&#xff0c;看一下mysql是如何读取主机文件的。 1.1 linux搭建mysql 1&#xff09;docker运行mysql 2&#xff09;启动Mysql docker run -itd…

算法基础之差分和前缀和

差分 差分介绍 结论&#xff1a;差分是前缀和的逆运算 举例 一维差分 //一维前缀和 a[i]部分就是一维差分数组 s[i] s[i-1]a[i]; //一维差分 a[i] s[i]-s[i-1];二维差分 //二维前缀和 a[i][j]部分就是一维差分数组 s[i][j] s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j]; //二…

Python四大数据结构整理

Python四大数据结构整理 列表列表本身的基础造作操作列表的增删改查列表总结 字典字典的创建获取字典视图遍历字典字典生成式 元组与集合元组的创建元组的获取集合集合的创建方式集合的相关操作 对比归纳总结 列表 列表的特点   1.列表元素按顺序有序排放   2.索引映射唯一…

2023-09-19 LeetCode每日一题(打家劫舍 IV)

2023-09-19每日一题 一、题目编号 2560. 打家劫舍 IV二、题目链接 点击跳转到题目位置 三、题目描述 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统&#xff0c;所以小偷 不会窃取…

基于微信小程序的宠物交易商城系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考论文参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌…

SIEM 中的事件关联

什么是 SIEM 中的事件关联 SIEM 中的事件关联可帮助安全团队识别来自不同来源的安全事件并确定其优先级&#xff0c;从而提供更全面的整体安全环境视图。 在典型的 IT 环境中&#xff0c;会跨各种系统和应用程序生成大量事件和日志。孤立地看&#xff0c;其中许多事件可能看起…

FPGA/数字IC(芯海科技2022)面试题 2(解析版)

以下仅为学习参考(非原创)&#xff0c;如有疑惑欢迎评论区指出&#xff01; 一、单选题&#xff08;共20题&#xff0c;每题3分&#xff0c;共60分&#xff09; 1. D触发器&#xff1a;Tsetup3ns&#xff0c;Thold1ns&#xff0c;Tck2q1ns&#xff0c; 该D触发器最大可运行时…

微信小程序快速入门01(含案例)

文章目录 前言一、组件1.常用视图容器类组件viewscroll-viewswiper、swiper-item 2.text、rich-text3.其他常用组件buttonimagenavigator 二、小程序API三、数据绑定1.定义页面数据2.绑定数据 四、事件绑定1.什么是事件2.小程序中常用的事件3.事件对象 的属性列表target和curre…

SQL 如何提取多级分类目录

前言 POI数据处理&#xff0c;原始数据为csv格式&#xff0c;整理入库至PostGreSQL&#xff0c;本例使用PostGreSQL13版本。 一、POI POI&#xff08;一般作为Point of Interest的缩写&#xff0c;也有Point of Information的说法&#xff09;&#xff0c;通常称作兴趣点&am…

小米手机打开开发者模式

1、打开设置 2、 3、 4、多次连续点击版本&#xff0c;直到提示打开开发者模式 5、进入手机开发者模式后&#xff0c;点击进入“设置”主页的“更多设置”。 6、接着点击进入“开发者选项”。 7、最后打开“USB调试”选项后&#xff0c;手机就打开了USB调试模式。 8、可以…

Web前端的float布局和flex布局

1.float布局 <style>.nav {overflow: hidden;background-color: aqua;}.nav c {float: left;display: block;text-align: center;padding: 10px 20px;text-decoration: none;color: black;}.nav c:hover{background-color: chartreuse;}</style> <div class&q…

30.链表练习题(1)(王道2023数据结构2.3.7节1-15题)

【前面使用的所有链表的定义在第29节】 试题1&#xff1a; 设计一个递归算法&#xff0c;删除不带头结点的单链表L中所有值为x的结点。 首先来看非递归算法&#xff0c;暴力遍历&#xff1a; int Del(LinkList &L,ElemType x){ //此函数实现删除链表中为x的元素LNode *…

WINDOWS 7-11 磁盘分区教程

前言&#xff1a; 现在很多新电脑&#xff0c;尤其是用固态硬盘的电脑&#xff0c;往往内存不是很大&#xff0c;默认系统就给1个c盘&#xff08;系统&#xff09;或者再加一个D盘&#xff08;软件盘&#xff09;。为了更好的管理自己电脑的文件&#xff0c;我们需要增加一个或…

黑马JVM总结(十二)

&#xff08;1&#xff09;五种引用_强软弱 实线箭头表示强引用&#xff0c;虚心线表示软弱虚终结器引用 在平时我们用的引用&#xff0c;基本都为强引用 &#xff0c;比如说创建一个对象通过运算符赋值给了一个变量&#xff0c;那么这个变量呢就强引用了刚刚的对象 强引用的…

VINS中的观测性问题

文章目录 一、背景二、BA problem的观测性问题1、不可观方向2、解决方案3、优化问题中信息矩阵物理意义 三、Keyframe-based Visual-Inertial SLAM的观测性问题1、不可观问题2、解决方案 四、MSCKF观测性分析1、观测性分析2、解决方案3、小结 一、背景 本文档分析以下VINS中的…

Python爬虫基础(三):使用Selenium动态加载网页

文章目录 系列文章索引一、Selenium简介1、什么是selenium&#xff1f;2、为什么使用selenium3、安装selenium&#xff08;1&#xff09;谷歌浏览器驱动下载安装&#xff08;2&#xff09;安装selenium 二、Selenium使用1、简单使用2、元素定位3、获取元素信息4、交互 三、Phan…

【Java 基础篇】Java Supplier 接口详解

在Java中&#xff0c;Supplier接口是一个重要的函数式接口&#xff0c;它属于java.util.function包&#xff0c;用于表示一个供应商&#xff0c;它不接受任何参数&#xff0c;但可以提供一个结果。Supplier通常用于延迟计算或生成值的场景。本文将详细介绍Supplier接口的用法以…