楼主需要定义4个BOOL变量,假设四种情况:即A、B、C、D四人分别都说的是假话
bool personA;
bool personB;
bool personC;
bool personD;
if(FALSE==personA && TURE==(personB+personC+personD==3))
{return personA=FALSE;}
if(FALSE==personB && TURE==(personA+personC+personD==3))
{return personB=FALSE;}
if(FALSE==personC && TURE==(personA+personB+personD==3))
{return personC=FALSE;}
if(FALSE==personD && TURE==(personA+personB+personC==3))
{return personD=FALSE;}
分别把A/B/C/D对应的bool变量置成false,判断其他三个bool变量对应的值相加是否等于3,
四种情况有且仅有一种case成立,自然能够找出谁说的是假话
[
本帖最后由 Pirelo 于 2011-5-3 11:23 编辑 ]