第四天、婚礼上的谎言

版权声明:本文为博主原创文章,未经博主允许不得转载。个人网站:http://cuijiahua.com。 https://blog.csdn.net/c406495762/article/details/50902790

       3对情侣参加婚礼,3个新郎为A、B、C,3个新娘为X、Y、Z,有人想知道究竟谁与谁结婚,于是就问新人中的三位,得到如下结果:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人事后知道他们在开玩笑,说的全是假话。那么,究竟谁与谁结婚呢?
C语言代码:

/*第四天、婚礼上的谎言*/
#include <stdio.h>
#include <stdlib.h>

void main(void)
{
    /*将新娘进行分号,X,Y,Z分别是1,2,3 man_a = 1代表man_a迎娶的妻子是X*/
    int man_a,man_b,man_c;
    for(man_a = 1; man_a <= 3; man_a++)           //枚举man_a的所有可能
        for(man_b = 1; man_b <=3; man_b++)        //枚举man_b的所有可能
            for(man_c = 1; man_c <=3; man_c++)    //枚举man_c的所有可能
            {
                /*man_a != 1代表A不嫁给X,并且他们娶的新娘不能是同一个人*/
                if((man_a != 1) && (man_c != 1) && (man_c != 3) && (man_a != man_b) && (man_b != man_c) && (man_a != man_c))
                {
                    printf("%c 将嫁给 A\n",'X'+ man_a - 1);
                    printf("%c 将嫁给 B\n",'X'+ man_b - 1);
                    printf("%c 将嫁给 C\n",'X'+ man_c - 1);
                }
            }
    system("pause");
}

结果显示:
Visual Studio 2012
python3.4.4代码:

for man_a in range(1,4):        #range(1,4)表示1~3
    for man_b in range(1,4):
        for man_c in range(1,4):
            if((man_a != 1)&(man_c != 1)&(man_c != 3)&(man_a != man_b)&(man_b != man_c)&(man_a != man_c)):
                print('%c 将嫁给 A\n'%(chr(ord('X') + man_a -1)))
                print('%c 将嫁给 B\n'%(chr(ord('X') + man_b -1)))
                print('%c 将嫁给 C\n'%(chr(ord('X') + man_c -1)))
                #python中将字符串转换为ASCII码用函数ord(),反之用函数chr()
input()         #防止一闪即逝,等待用户输入

结果显示:
IDLE

展开阅读全文

没有更多推荐了,返回首页