3对情侣参加婚礼,3个新郎为A, B, C , 3个新娘为X, Y, Z 有人想知道究竟谁与谁结婚,于是就问新人中得三位,得到如下结果:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人事后知道他们在开玩笑,说的全部是假话。那么,究竟谁与谁结婚呢?
代码如下:
#include
int main()
{
int a,b,c;
for(a = 1;a <= 3;a++){ /*穷举a的所有可能*/
for(b = 1;b <= 3;b++){ /*穷举b的所有可能*/
for(c = 1;c <= 3;c++){ /*穷举c的所有可能*/
if(a != 1&&c != 1&&c != 3&&a != b&&a != c&&b != c){
/*如果表示为真,则输出结果,否则继续下次循环*/
printf("%c\n 将嫁给 A\n",'X'+a - 1);
printf("%c\n 将嫁给 B\n",'X'+b - 1);
printf("%c\n 将嫁给 C\n",'X'+c - 1);
}
}
}
}
}
运行结果:
Z
将嫁给 A
X
将嫁给 B
Y
将嫁给 C