C++扬帆远航——12(抓小偷)
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:zhaoxiaotou.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年3月6日 * 版本号: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+b+c+d==1)&&((a==0)+(c==1)+(d==1)+(d==0)==3)) { 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; }
运行结果:
心得:
仔细看题,弄清每一个人所说的话,就OK了