首先:在我看来这种应用题目的解决方式就是将所描述的文字运用逻辑符号用0和1的表达方式进行表达出来,没有别的方法,还是要多对逻辑符号进行运用,熟练熟练,就能准确的写出这种题目.
猜凶手
题目:
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。
这个题的代码思路很简单,主要就是运用逻辑表达的方式将这个题目表达出来,利用if语句,将ABCD说的话包含进去即可,
如下面例题:
#include<stdio.h>
#include<stdlib.h>
int main(){
int m[4] = { 0 }; //因为存在4个人,所以定义一个四个人的数组
int i=0;
for (i = 0; i < 4; i++){ //for循环依次将四个人拉进去进行校验,看谁符合
m[i] = 1; //将ABCD依次当做说假话的人,拉到这个里面进行实践
if ((m[0] != 1) + //if语句将四个人说的话用逻辑语言进行表达出来
(m[2] == 1) +
(m[3] == 1) +
(m[3] != 1)){
break;
}
m[i] = 0; //如果这个人没有说假话,则为0;
}
putchar('A' + i); //比printf()能简易一点 //打印出来,这个表达方式简单一点
putchar('\n');
system("pause");
return 0;
}