三对情侣参加婚礼,三个新郎为A,B,C,三个新娘X,Y,Z,有人想知道究竟谁和谁结婚,于是就问新人中的三位,
A说:他将和X结婚;
X说:她的未婚夫是C;
C说:他将和Z结婚。
这人事后知道他们说的都是假话,那么究竟谁和谁结婚那?
这里要用到穷举的方法得到结果
#include"stdio.h"
int main(void)
{
printf("新郎A = 1,B = 2,C = 3\n");
int X,Y,Z;
printf("新娘X,Y,Z(新娘所等于的序号表示要嫁给的新郎)\n");
for(X = 1; X <= 3; X++)//穷举X的所有可能
for(Y = 1; Y <= 3; Y++)//穷举Y的所有可能
for(Z = 1; Z <= 3; Z++)//穷举Z的所有可能
{
if( X != 1&&X != 3&&Z != 3&&X != Y&&X != Z&&Y != Z )
printf("X = %d,\nY = %d,\nZ = %d\n",X,Y,Z);
}
}
代码运行结果: