3对情侣举行婚礼,3个新郎为A、B、C,3个新娘为X、Y、Z,有人想知道究竟谁和谁结婚,于是就问新人中的3位,得到如下的提示:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人事后知道他们都在开玩笑,说的全是假话,那么究竟谁与谁结婚了?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, c;
for (a = 0; a <= 2;a++)//a=0表示A与新娘X结婚,a!=0表示A不与新娘X结婚;与Y结婚用1表示,与Z结婚用2表示。
{
for (b = 0; b <= 2;b++)
{
for (c = 0; c <= 2;c++)
{
if (a!=0&&c!=0&&c!=2)//3个人说的都是假话必须满足的条件
{
if (a!=b&&b!=c&&a!=c)//题目隐含条件3个新郎不能互为配偶
{
printf("%c 将嫁给 A\n", 'X' + a );//数字转化为字符输出
printf("%c 将嫁给 B\n", 'X' + b );
printf("%c 将嫁给 C\n", 'X' + c );
}
}
}
}
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, c;
for (a = 0; a <= 2;a++)//a=0表示A与新娘X结婚,a!=0表示A不与新娘X结婚;与Y结婚用1表示,与Z结婚用2表示。
{
for (b = 0; b <= 2;b++)
{
for (c = 0; c <= 2;c++)
{
if (a!=0&&c!=0&&c!=2)//3个人说的都是假话必须满足的条件
{
if (a!=b&&b!=c&&a!=c)//题目隐含条件3个新郎不能互为配偶
{
printf("%c 将嫁给 A\n", 'X' + a );//数字转化为字符输出
printf("%c 将嫁给 B\n", 'X' + b );
printf("%c 将嫁给 C\n", 'X' + c );
}
}
}
}
}
system("pause");
return 0;
}