判断凶手是哪个

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。

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

这个题和我前面做的一个判断比赛选手名次那个题很是类似,只不过改了出题方式,具体思路如下:

四个人中有一个讲了假话,别的都是真话,c中假为0,真为非0,一般用1表示,那么这样想就很快有思路了,四个人的真假相加为3,

代码逻辑为

if (((k != 'A') + (k == 'C') + (k == 'D') + (k != 'D'))==3),用一个for循环就可以了。

#include<stdio.h>
int main()
{
	int k = 0;
	for (k = 'A'; k <= 'D'; k++)
	{
		if (((k != 'A') + (k == 'C') + (k == 'D') + (k != 'D'))==3)
		{
			printf("凶手是:%c\n", k);
			return 0;
		}
	}
 	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值