C++ 编程问题~

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:11:02
用C++编个程序实现下面的功能...
我公安机关正在破获一起偷窃汽车的案件,刚抓住一个团伙,有四名嫌疑犯。对四人的审讯时,公安人员问四名嫌疑人,“你们谁是主谋?”,四人的回答记录如下:
A说:“不是我”
B说:“是C”
C说:“是D”
D说:“你胡说”
公安人员对审讯记录分析后确定,这四人中肯定有三人说了真话,一人说了假话。请你编个程序帮公安人员把主犯找出来。

程序运行结果为:
主犯是 C

int main()
{
bool A[4]; //定义四个人的状态,true为主谋,false则不是
int a, i, j;
for(i = 0; i < 4; i++) //分别假设主谋
{
a = 0;
for(j = 0; j < 4; j++) //初始化其他成员
{
if(i==j)
A[j] = true;
else A[j] = false;
}
if(!A[0]) ++a; // 假设A真话,统计加1
if(A[2]) ++a; // 假设B真话,统计加1
if(A[3]) ++a; // 假设C真话,统计加1
if(!A[3]) ++a; // 假设D真话,统计加1
if(a == 3) //真话数为3
break;
}
switch(i)
{
case 0: cout << "A is!"; break;
case 1: cout << "B is!"; break;
case 2: cout << "C is!"; break;
case 3: cout << "D is!"; break;
}
return 0;
}

过程很简单,就是建模需要考虑。。。

其实类似于那种 if d.string="你胡说" then system.out.print("C");
不太明白啊 不好意思。

噢~~会有人来回答的吧

我等 我等 在等