问题如下:这次我们玩个好玩的游戏,故事是这样的:三队情侣参加婚礼,三个新郎我们标记为A,B,C,新娘我们标记为X,Y,Z,有人想知道他们到底谁跟谁结婚,于是就问他们,得到如下结果:A说她与X结婚,X说他的未婚夫是C,C说他将和Z结婚。后来知道他们都说了假话,那么谁跟谁结婚呢?
分析问题:首先看一下这个题,经过读题我们得知现有的条件都是假的,那么我们就需要把所有情况都想到并且遍历,代码如下:
#include <stdio.h>
int mian()
{
int a,b,c;
for(a=0;a<3;a++)
for(b=0;b<3;b++)
for(c=0;c<3;c++)
if(a!=1&&c!=1&&c!=3&&a!=b&&a!=c&&b!=c)
{
printf("%c将嫁给A",'X'+a-1);
printf("%c将嫁给B",'X'+a-1);
printf("%c将嫁给C",'X'+a-1);
}
}
代码解析:我们看一下这部分代码,可以看出我们用了a=1表示A和新娘X结婚,同理如果不是就写成a!=1,即可得出。