问题及代码:
/*
*copyright (c) 2014,烟台大学计算机学院
*all rights reserved.
*文 件 名 : 谁是小偷 .cpp
*作 者 :张 鹏
*完成日期 :2014年10月27号
*版 本 号 :v1.0
*
*问题描述 :警察局抓住了A,B,C,D四名偷盗嫌疑犯,其中只有一人是小偷。在审问时,A说:"我不是小偷";B说"c是小偷";C说"小偷肯定是D";D说"c在冤枉好人"。
*现在已经知道这四人中有三人说的是真话,一人说假话。求谁是小偷。
*输入描述 :无
*程序输出 :输出一句话,指出谁是小偷。
*/
#include <iostream> //预处理指令。
using namespace std; //使用C++的命名空间 std。
int main() //函数首部。
{
int iA_man,iB_man,iC_man,iD_man; //声明五个变量iDo,iYao,iXue,iC,iCase为整型。无个变量分别代表都,要,学,C和方案。
cout<<"结论是:"<<endl; //输出汉字,使得界面更友好。
for (iA_man=0; iA_man<=1; iA_man++) //穷举A说话的真假性。(1代表假话,0代表真话)
for (iB_man=0; iB_man<=1; iB_man++) //穷举B说话的真假性。
for (iC_man=0; iC_man<=1; iC_man++) //穷举C说话的真假性。
for (iD_man=0; iD_man<=1; iD_man++) //穷举D说话的真假性。
if (iA_man+iB_man+iC_man+iD_man==1) //if语句执行,四人中有三人说的是真话,一人说假话。
{
if(iA_man==1&&iB_man==1&&iC_man==1&&iD_man==0) //A是小偷的情况。
cout <<"A是小偷";
if(iA_man==0&&iB_man==1&&iC_man==0&&iD_man==1) //B是小偷的情况。
cout <<"B是小偷";
if(iA_man==0&&iB_man==1&&iC_man==0&&iD_man==0) //C是小偷的情况。
cout <<"C是小偷";
if(iA_man==0&&iB_man==1&&iC_man==1&&iD_man==1) //D是小偷的情况。
cout <<"D是小偷";
}
}
return 0; //执行retur语句,结束程序。
}
运行结果:
知识点总结:
无。
学习心得:
好好学习,天天向上。