C++新郎新娘问题,还望各位高手可以用不同的方法编程。请加注解。若把A、B、C用1、2、3代替,请详细解释

教堂来了A,B,C 3个新郎和X,Y,Z 3个新娘,问新人中的3位,他们互相与谁结婚。下面是3个人的回答,但全是假话,判断他们谁与谁结婚。
A说他与X结婚;
X说她与C结婚;
C说他与Z结婚。

#include <iostream>

using namespace std;

int main()
{
char A,B,C;

//A,B,C变量名代表新郎,变量的值代表新娘
for(A = 'X';A <= 'Z';A++)
{
for(B = 'X';B <= 'Z';B++)
{
for(C = 'X';C <= 'Z';C++)
{
if(A != 'X' && C != 'X' && C != 'Z' && A != B && A != C && B != C) //满足A的值(新娘)不等于B,B不等于C,A不等于C,并且,A不等于X,C不等于Z,C不等于X即可
cout << "(A," << A << ") - (B," << B << ") - (C," << C << ")" << endl;
}
}
}

return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-26
好难。