第四天、婚礼上的谎言

       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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jack-Cui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值