帮忙编一下C++小程序,很简单,就是我不会编

来源:百度知道 编辑:UC知道 时间:2024/05/29 14:41:30
A说,2号车最好
B说,4号车最好
C说,3号车不是最好的
D说,B说的不对
求出最好的车,并求出谁说的对?
要用程序编出来!!!不一定有结果,如果没有结果用"cannot fount"表示出来.谢谢大家了.书上的一道习题.其中只有一个人说的是对的

缺少条件。。。
得知道有几个人说的是对的

PS:
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[1]) ++a; // 假设A真话,统计加1
if(A[3]) ++a; // 假设B真话,统计加1
if(!A[2]) ++a; // 假设C真话,统计加1
if(!A[3]) ++a; // 假设D真话,统计加1
if(a == 1) //真话数为1
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;
default: cout << "cannot fount!";
}
}
}

最后可以求得C说的话是真的,也就是只能确定3号车不是最好的,其余的那两最好都不能确定。。。

A 2号车最好