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条件判断语句 实现)

当前假定的人就是凶手,进行打印

                


                 

一步到位:

(1).

定义变量

char killer = 0; -- 凶手

            

(2).

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

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

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

                 

(3).

4句话4个情况列出来

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

4种情况 “相加”==3

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

当前假定的人就是凶手,进行打印

                     

实现代码:

#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;
}

实现图片:

                    

最终代码和实现效果

最终代码:

#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;
}

实现效果:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023,中国电商重回元老时代

中国的历史上不缺“太上皇”&#xff0c;但“太上皇”再度站到台前的很少。公元1457年&#xff0c;被囚禁在南宫的“太上皇”朱祁镇复位&#xff0c;上演了中国历史上少见的南宫复辟。而危机时刻被推举为皇帝的朱祁钰&#xff0c;后来的庙号是代宗&#xff0c;阴阳怪气十足。 …

Spark Sql 4/5

4. 用户自定义函数 通过spark.udf功能用户可以自定义函数。 4.1用户自定义UDF函数 Shellscala> val df spark.read.json("examples/src/main/resources/people.json")df: org.apache.spark.sql.DataFrame [age: bigint, name: string]​scala> df.show()--…

分布式运用——监控平台 Zabbix

分布式运用——监控平台 Zabbix 一、监控平台种类二、我们今天介绍Linux操作系统的传统监控平台——zabbix 6.0版本1.zabbix 是什么&#xff1f;2.**zabbix 监控原理&#xff1a;**3.Zabbix 6.0 新特性&#xff1a;4. Zabbix 6.0 功能组件&#xff1a;5.数据库6.Web 界面7.Zabb…

.NetCore gRpc 客户端与服务端的单工通信Demo

文章目录 .NetCore gRpc 客户端与服务端的单工通信Demo服务端方式一方式二 客户端proto协议文件syntax "proto3";import "google/protobuf/empty.proto";serviceproto3与.netCore 的类型对应日期和时间可为 null 的类型字节小数为 Protobuf 创建自定义 de…

Rust in Action笔记 第八章 网络

P253的图展示了网络各层用到的协议Box<dyn std::error::Error>表示一个指针指向的实现了标准错误库的类型&#xff0c;dyn表明这是一个特征对象&#xff08;trait object&#xff09;&#xff0c;是rust里多态的一种实现方式&#xff1b;特征对象和模板对象&#xff08;g…

物化视图功能验证

物化视图(Materialized View)和视图(View)类似&#xff0c;也是一个视图名字对应一个SQL查询查询语句。不同之处在于&#xff1a;物化视图定义时使用了额外的关键字materialized&#xff0c; 它把结果集保存在起来&#xff0c;查询的时候直接读取保存的结果集&#xff0c;而不必…

Zabbix安装

Zabbix6.0 一&#xff1a;zabbix 是什么&#xff1f;二&#xff1a;Zabbix 6.0 新特性&#xff1a;1、Zabbix server高可用防止硬件故障或计划维护期的停机&#xff1a;2、Zabbix 6.0 LTS新增Kubernetes监控功能&#xff0c;可以在Kubernetes系统从多个维度采集指标&#xff1a…

前台-打印

vue3 + TS 实现点击按钮打印功能(vue-easy-print)_Caroline0812的博客-CSDN博客 插件 jsbarcode、uuid、vue-easy-print、vue-qr 主页面 <script setup lang="ts">import { ref } from vueimport PrintUser from ./printUser.vueconst easyPrint = ref()c…

深度学习准确率提升之天花板分析

案例1 OCR文字识别流水线主要分为三个模块&#xff1a;文字检测->字符分割->字符识别 训练完成后整个系统的准确率是72%&#xff0c;需要进一步提升准确率就需要单独分析每个模块的提升空间。 1&#xff09;对于文件检测模块&#xff0c;把训练集的图像人工确保标注准…

物联网芯片

1、当前我的个人开源库基于STM32F103&#xff0c;开发环境基于Keil&#xff0c;操作系统基于FreeRTOS V9.0 2、基于官方标准固件库V3.5基础上开发的BSP驱动外设库。 3、当前完成的有BKP_BSP、DMA_BSP、EXTI_BSP、FSMC_BSP、GPIO_BSP、IWDG_BSP、I2C_BSP、RTC_BSP、SPI_BSP、U…

论文解读:SuperGlue: Learning Feature Matching with Graph Neural Networks

SuperGlue: Learning Feature Matching with Graph Neural Networks 发表时间&#xff1a;2020 论文地址&#xff1a;https://arxiv.org/abs/1911.11763 项目地址&#xff1a;http://github.com/magicleap/SuperGluePretrainedNetwork。 本文介绍了一种通过联合寻找对应和拒绝…

浅谈基于分项计量的校园能源监管平台解决方案设计

张心志 关注acrelzxz 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;伴随着我国经济的飞速发展&#xff0c;国家机关办公建筑和大型公共建筑高耗能的问题日益突出&#xff0c;如何解决建筑能耗己成为一个国家总能耗的重要组成部分。学校是肩负着教育、科研和社会服…

AutoCV第十一课:DL基础

目录 DL基础前言1. BP训练mnist2. 权重初始化理论分析总结 DL基础 前言 手写AI推出的全新保姆级从零手写自动驾驶CV课程&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考。 本次课程我们来了解下 BP 反向传播和学习权重初始化相关知识 课程大纲可看下面的思维导…

Redis的持久化方式

为什么要持久化 Redis是内存数据库&#xff0c;宕机后数据会消失&#xff0c;Redis重启后快速恢复数据&#xff0c;要提供持久化机制。 把内存中的数据持久化到磁盘中&#xff0c;防止数据丢失。 —当redis服务器开启时&#xff0c;会把磁盘中的数据加载到内存中进行计算。 …

docker搭建nginx

一、安装Docker 1、安装&#xff1a; yum install docker 2、启动/停止/重启docker服务 systemctl docker start systemctl docker stop systemctl docker restart #开机自启动 systemctl enable docker#设置容器自启动 1.创建容器时设置 docker run -d --restartalways …

vue使用mapbox地图

1、下载依赖 npm install --save mapbox-gl mapbox/mapbox-gl-language 2、引入mapBox&#xff0c;将引入的内容封装为js文件 在api/map文件夹下新建mapbox.js文件 代码&#xff1a; import mapboxgl from mapbox-gl import mapbox-gl/dist/mapbox-gl.css import MapboxLang…

Redis缓存问题与缓存更新机制

目录 ​编辑 一、缓存问题 1.1 缓存穿透 1.1.1 问题来源 1.1.2 解决方案 1.1.2.1 缓存空对象 1.1.2.2 使用布隆过滤器 1.2 缓存击穿 1.2.1 问题来源 1.2.2 解决方案 1.2.2.1 设置热点数据永远不过期 1.2.2.2 新增后台定时更新缓存线程&#xff08;逻辑不过期&#xff09; 1.2.…

MFC项目添加外部头文件和源文件后编译出现C1010错误

出现这个问题的主要原因是如果使用VC向生成工程的话&#xff0c;默认使用预编译头文件“stdafx.h”&#xff0c;这样做的目的是为了加快编译速度。 如果加入第三方c/cpp文件没有#include “stdafx.h” &#xff0c;就会报此错误。 在<解决方案管理器中>(就是可以看到工程…

Git 常用操作总结

版本控制系统&#xff08;VCS&#xff09;是管理文件和目录所做的更改的工具&#xff0c;每一次提交便记录下目录及其文件的内容&#xff0c;以及较上一版本的更改。通过这样去跟踪项目的更改过程&#xff0c;方便与他人进行协作&#xff0c;或者撤销不想要的更改以回退到此前的…

10 Web全栈 组件化设计

前端架构层次设计 前端技术体系庞大&#xff0c;层级也非常分明&#xff0c;在架构设计领域中不能一概而论&#xff0c;任何应用种类都有自己独立的架构体系。比如在前端开发领域&#xff0c;在框架基础上进行应用构建的开发者锁思考的问题&#xff0c;与在组件库设计方面的开…