一道C++题目,求高手!!!
谁打破了玻璃?妈妈外出,回来后发现厨房窗户的玻璃被打破了。她问四个女儿,得到以下的回答A:“我没有打破。”B:“是我打破的。”C:“A没打破。”D:“B没打破。”嫌犯就在...
谁打破了玻璃?
妈妈外出,回来后发现厨房窗户的玻璃被打破了。 她问四个女儿,得到以下的回答 A:“我没有打破。” B:“是我打破的。” C:“A没打破。” D:“B没打破。” 嫌犯就在四个女儿中,其中打破玻璃的一定在撒谎,其他人可能说真话可能说实话。玻璃到底是谁打破的呢?试编程求解之。 展开
妈妈外出,回来后发现厨房窗户的玻璃被打破了。 她问四个女儿,得到以下的回答 A:“我没有打破。” B:“是我打破的。” C:“A没打破。” D:“B没打破。” 嫌犯就在四个女儿中,其中打破玻璃的一定在撒谎,其他人可能说真话可能说实话。玻璃到底是谁打破的呢?试编程求解之。 展开
4个回答
展开全部
#include <iostream>
using namespace std;
int main()
{
int x; //x存放打破那个人的编号,x=1是A,x=2是B,x=3是C,x=4是D
for(x = 1;x <= 4;x ++)
if(((x != 1) + (x == 2) + (x != 1) + (x != 2) <= 3)) //x!=1代表A没有打破,x==2代表B打破的,x!=2代表B没有打破 最后<=3表示至少有一个人说谎 .如果最后==3代表只有一个人说谎
cout << char(64+x) << "打破的!" << endl;
return 0;
}
我要说的是,你这道题你可以分析下,根据你给的条件找不出来谁打破的。
using namespace std;
int main()
{
int x; //x存放打破那个人的编号,x=1是A,x=2是B,x=3是C,x=4是D
for(x = 1;x <= 4;x ++)
if(((x != 1) + (x == 2) + (x != 1) + (x != 2) <= 3)) //x!=1代表A没有打破,x==2代表B打破的,x!=2代表B没有打破 最后<=3表示至少有一个人说谎 .如果最后==3代表只有一个人说谎
cout << char(64+x) << "打破的!" << endl;
return 0;
}
我要说的是,你这道题你可以分析下,根据你给的条件找不出来谁打破的。
展开全部
解不出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DT
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解不了,没打破玻璃的人也可能在撒谎
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询