首页 > 其他分享 >【C语言题目】34.猜凶手

【C语言题目】34.猜凶手

时间:2024-07-05 19:29:26浏览次数:19  
标签:真话 killer 凶手 作业 C语言 嫌疑犯 34 供词

文章目录


作业标题

猜凶手

作业内容

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。

以下为4个嫌疑犯的供词:

A说:不是我。

B说:是C。

C说:是D。

D说:C在胡说

已知3个人说了真话,1个人说的是假话。

现在请根据这些信息,写一个程序来确定到底谁是凶手。


2.解题思路

简单的说,就是3个人说真话,1个人说假话,来判断凶手是谁。

提取ABCD说的关键信息:不是A,是C,是D,不是D

这里形容的都是凶手,也就是把凶手和这些信息对比,就可以了。


3.具体代码

#include <stdio.h>
 
int main()
{
	char killer;
	for(killer='A'; killer<='D'; killer++)//巧妙地利用ASCII 从A-D进行循环和比较
	{
		//下面分别对应每个人都供词  不是A 是C     是D    不是D
		if (((killer!='A') + (killer=='C') + (killer=='D') + (killer!='D'))==3)  //这里等于3表示 有三个人说了真话
		{
			printf("%c是凶手\n",killer);
			break;
		}
	}
	return 0;
}

打印:

在这里插入图片描述

标签:真话,killer,凶手,作业,C语言,嫌疑犯,34,供词
From: https://blog.csdn.net/hlyd520/article/details/140216703

相关文章

  • 【C语言习题】33.杨氏矩阵
    文章目录作业标题作业内容2.解题思路3.具体代码作业标题杨氏矩阵作业内容有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。要求:时间复杂度小于O(N);2.解题思路我们仔细分析,不难发现,对于杨氏......
  • 【C语言习题】32.字符串旋转结果
    文章目录作业标题作业内容2.解题思路3.具体代码作业标题字符串旋转结果作业内容写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1=AABCD和s2=BCDAA,返回1给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字......
  • 【LinuxC语言】手撕Http协议之accept_request函数实现(一)
    文章目录前言accept_request函数作用accept_request实现解析方法根据不同方法进行不同操作http服务器响应格式unimplemented函数实现总结前言在计算机网络中,HTTP协议是一种常见的应用层协议,它定义了客户端和服务器之间如何进行数据交换。在这篇文......
  • 从零开始学习嵌入式----C语言“\“字符
    C语言\01932\01\12\09的意思是什么?应该这样看:    所有的ASCII码都可以用"\"加数字(一般是八进制)来表示。而C语言中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符。     1)"\"后面如果跟了三位八进制数字就将\ddd作为......
  • C语言的简单学习
    C语言是编译型语言,先编译再运行,通常用gcc进行编译,于是安装了Ubuntu操作系统。至于编辑器,VSCode也能用,先sudoaptinstallbuild-essentialgdb,再在VSCode安装C/C++extension,就可以进行开发了。C语言程序都是 .c文件结尾,新建一个hello_world.c 文件#include<stdi......
  • 海思SD3403/SS928V100开发(14)WIFI模块RTL8821驱动调试
    1.前言芯片平台:海思SD3403/SS928V100操作系统平台:Ubuntu20.04.05【自己移植】WIFI模块:LB-LINK的RTL88212. 调试记录参考供应商提供的操作手册2.1lsusb查看设备2.2编译供应商提供的驱动2.2.1修改Makefile2.2.2编译报错解决办法:将Makefile中arm改成ar......
  • 从零开始学习嵌入式——C语言数值传递(值传递和地址传递)
        C语言实现主函数与被调用子函数变量之间数值交换的方法。 1、值传递:主函数中的数值并未实现交换。2、地址传递:交换的是指针指向,a,b并未实现交换 3、传递地址,交换地址实现值的交换 4、传入地址,定义的子函数 知道了主函数传递的地址参数才能对主函数当中......
  • 【34. 在排序数组中查找元素的第一个和最后一个位置】
    题目:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,10],t......
  • c语言回顾-内存操作函数
    目录前言1.memcpy 函数1.1函数介绍1.2与strcpy的区别1.3memcpy的模拟2.memmove函数2.1函数介绍和使用2.2函数的模拟3.memset函数3.1函数介绍3.2函数的模拟4.memcmp函数4.1函数的使用4.2函数的模拟结束语前言在动态内存的章节中小编详细讲解了动态内存分......
  • C语言数据类型和变量(三)
    目录1.赋值操作符=1)连续赋值2)复合赋值符2.单目操作符:++、--、+(正号)、-(负号)1)++和--2)+和-3.强制类型转换4.printf()函数1)基本语法 2) 占位符3)占位符列举4)输出格式5.scanf()函数1)基本用法2)scanf的返回值3)占位符4)赋值忽略符*1.赋值操作符=在变量......