第四天、婚礼上的谎言

       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");
}

结果显示:

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()         #防止一闪即逝,等待用户输入

结果显示:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏静晴轩

TOP 100 大前端超棒精选列表

正值如今这信息爆炸的年代,如何能从中汲取精华,于有限时间内,成为更高效的学习者,从而在激烈的竞争中更具优势,是当下每个人或企业都该思虑的问题;先前创立的 Web...

343
来自专栏PingCAP的专栏

十分钟成为 Contributor 系列:重构内建函数进度报告

为了方便社区同学更好地参与 TiDB 项目,本文一方面对继上一篇文章发布后参考社区的反馈对表达式计算框架所做的修改进行详细介绍,另一方面对尚未重写的 built...

850
来自专栏柠檬先生

jquery mobile 移动web(4)

下拉菜单:   设置label 元素的for 属性为 select label 元素的文本内容作为选项的名称 定义div元素并设置data-role ...

1779
来自专栏软件开发

C语言 第四章 分支结构练习

一、输入语文,数学成绩,根据平均分分3档 #include "stdio.h" void main() { //接受用户输入 float chi...

16910
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–总账(156)-7周期性分录

4.10 周期性分录 本功能支持可以定期创建的过帐。周期性分录类似于银行长期订单,用于扣除租金、缴纳付款、或直接的贷款偿还。周期性分录程序将基于周期性分录凭证...

3316
来自专栏WOLFRAM

Mma粉丝分享:全国建模大赛B题椭圆形活动桌面设计

1103
来自专栏cloudskyme

jbpm5.1介绍(9)

Junit测试调用子流程 下面的示例中测试在程序中调用其它程序的子流程的示例,需要加载两个配置文件 ? 和 ? 需要指定属性 下面是调用的示例程序 publ...

3236
来自专栏WOLFRAM

Mma粉丝分享:全国建模大赛B题【椭圆形活动桌面设计】 by 银色子弹

923
来自专栏跟着阿笨一起玩NET

WinForm中的简单打印

最近工作很是郁闷,有做WEB又要改桌面程序,要求之前基于DevExpress报表打印改成 DataGridView呈现数据 ,配置30分钟提醒用户打印,我发现我...

582
来自专栏Android干货

Android项目实战(二十九):酒店预定日期选择

1202

扫码关注云+社区