张三说李四说谎,李四说王二说谎,王二说张三、李四都是说谎,问到底谁说的真话,谁说的假话?

怎么用C语言编程求出谁说真话??
在线等啊。。。急,想了好久。

第1个回答  2012-05-08
赋初值的时候,如果认为是假话就输入1,如果是真话就输入0

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
int three_guess , four_guess ,five_guess;
int three_true ,four_true, five_true;
printf("Guess ,if he is lie you must input 0 else you must inout 1 : ");
scanf("%d;%d;%d",&three_guess, &four_guess ,&five_guess);
if (three_guess&&(!four_guess)&&(!five_guess))
{
three_true =1;
four_true = 0;
five_true=1;
}
else if(four_guess&&(!three_guess)&&(!five_guess))
{
five_true = 0 ;
three_true=1;
four_true=1;
}
else if (five_guess&&(!three_guess)&&(!four_guess))
{
three_true =0;
four_true=0;
five_true =1 ;
}
printf("%d %d %d\n" ,three_true, four_true ,five_true);
if ((three_guess==three_true)&&(four_guess==four_true)&&(five_guess==five_true))
printf("The answer is : %d %d %d\n" ,three_guess,four_guess,five_guess);
else
printf("Not the answer\n");
return 0;
}
第2个回答  2011-03-10
重点在王二,王二说张三李四都说谎了,就变成了,张三说李四说的不算了,不就是张三说的是真话咩! 但是问题来了,就成了循环的了,只有李四说的真话,这个问题才不会一直循环下去!
第3个回答  2011-03-18
李四说真话,其余都是假的。
相信姐的智商,这答案,没问题。
第4个回答  2011-03-10
你是不知道答案还是想用C语言求出答案的过程?
答案:张三说假话,李四说真话,王二说假话。追问

我是想用C语言求出答案。

追答

对不起,这个我不知道,无法帮助你了,抱歉!

本回答被网友采纳