问题及代码:
/*
*copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作 者:李一波
*完成日期:2016年3月17号
*版 本 号:v1.0
*
*问题描述:警察局抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一个是小偷。在审问时,A说:“我不是小偷”;
B说:“C是小偷”;C说:“小偷肯定是D‘;D说:“C在冤枉好人”。现在知道这四个人有三个人说的还真话,一个人说的是假话。请问到底谁是小偷?
*输入描述:
*程序输出:输出谁是小偷
*/
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
for(a=0;a<2;a++)
for(b=0;b<2;b++)
for(c=0;c<2;c++)
for(d=0;d<2;d++)
{
if((a==0)+(c==1)+(d==1)+(d==0)==3&&a+b+c+d==1)
{
if(a==1)
cout<<"小偷是:"<<'a'<<endl;
if(b==1)
cout<<"小偷是:"<<'b'<<endl;
if(c==1)
cout<<"小偷是:"<<'c'<<endl;
if(d==1)
cout<<"小偷是:"<<'d'<<endl;
}
}
return 0;
}
运行结果: