当前位置: 首页 > article >正文

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

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

实现代码:

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

 


http://www.kler.cn/a/147546.html

相关文章:

  • C#界面设计
  • AlphaFold3中文使用说明
  • 视频流媒体播放器EasyPlayer.js RTSP播放器视频颜色变灰色/渲染发绿的原因分析
  • maven的optional选项说明以及具体应用
  • Elastic Agent:可灵活地在任何地方发送和处理任何数据
  • 【知识科普】微内核架构与宏内核架构
  • 2023_Spark_实验二十二:Zookeeper的集群安装
  • 中英双语大模型ChatGLM论文阅读笔记
  • MySQL远程连接数据库
  • 涵盖多种功能,龙讯旷腾Module第一期:物质结构
  • Win10电脑用U盘重装系统的步骤
  • 传统数仓和clickhouse对比
  • hnust信息安全管理试题
  • Java基础-中级-高级面试题汇(一)
  • 图形编辑器开发:快捷键的管理
  • 五、Lua流程控制与函数
  • Elasticsearch:ES|QL 查询中的元数据字段及多值字段
  • PHP定义的变量 常量 静态变量等储存在内存什么位置?
  • ESP32-Web-Server编程-HTML 基础
  • 适用于iOS 的顶级苹果数据恢复软件
  • 爬虫爬取百度图片、搜狗图片
  • JAVA将PDF转图片
  • java大视频在线预览(支持断点下载)
  • 超全超实用行业解决方案合集,覆盖十大行业数据应用需求
  • 基于Webserver的工业数据采集控制
  • 查swap内存使用