这道题目的类似问题有很多,可是如何解决这种问题,需要一定的抽象技巧
题目中说,他们说的话全假,那么就多了几个判断条件。
假设A 为 1,B为2,C为3 。
其中 x!=1表示x的未婚夫不是A
z!=3表示z的未婚夫不是C
x!=3 表示x的未婚夫不是c
同时当然不能出现重婚的现象咯
因此最简单的穷举法 就可以发挥了
代码如下:
#include "stdio.h"
int main()
{
int x,y,z;
for(x=1;x<=3;x++)
for(y=1;y<=3;y++)
for(z=1;z<=3;z++)
{
if(x!=1&&x!=3&&z!=3&&x!=y&&x!=z&&y!=z)
{
printf("x husband is %c \n",'A'+x-1);
printf("y husband is %c \n",'A'+y-1);
printf("z husband is %c \n",'A'+z-1);
}
}
return 0;
}