某地发生了一起谋杀案,警方确认凶手是a,b,c,d中的一个,下面是凶手说的话:
A说:不是我。
B说:是C。
C说:是D。
D说:我不是凶手。
已知3个人说了真话,一个人说了谎。
根据上面的题目信息,写一个小程序判断凶手是谁
要判断真假,我们很容易想到使用 if 语句
if(真) //返回1
if(假) //返回0
而使用下面的方法,可以找出凶手
#include<stdio.h>
int main()
{
for (char killer = 'a'; killer <= 'd'; killer++) //killer指代凶手
{
if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3)
{
printf("凶手是%c\n", killer);
}
}
return 0;
}
#include<stdio.h>
int main()
{
for (char killer = 'a'; killer <= 'd'; killer++)
{
if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3)
{
printf("凶手是%c\n", killer);
}
}
return 0;
}
运行结果:凶手是c
阿林说:这个代码很难想到,这样的代码可以丰富我们解题的思路