学习目标:
- 使用代码完成程序《猜凶手》
题目:
- A,B,C,D是四个嫌疑犯,而中有一个人说了谎,请你把凶手抓出来吧!
- A:我不是凶手。
- B:C是凶手。
- C:D是凶手。
- D:C在说谎!
逻辑:
- 四个人中有三个人没有说谎,也就是说,只要满足A,B,C,D四个人中恰好有三个人的话为真就行。
- 将他们四人的话转换成代码并不难,因为凶手只有一个,说以我们可以这样想:
- A:A != killer;
- B:C = killer;
- C:D = killer;
- D:D != killer;
- 只要让所有语句加起来等于3就行。
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int killer = 0;
for (killer = 'a'; killer < 'd'; killer++)
{
if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3)
{
printf("凶手是%c", killer);
}
}
return 0;
}
完