标题:婚礼上的谎言
只看楼主
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
结帖率:90.24%
 问题点数:0 回复次数:4 
婚礼上的谎言
/*三对情侣参加婚礼,3个新郎为A,B,C,3个新娘为X,Y,Z,有人想知道究竟谁和谁结婚,于是就问新人中的三位,得到如下提示:
A说他将和X结婚,X说她的未婚夫是C,C说他将和Z结婚。事后知道他们在开玩笑,说的全是假话,那么究竟谁与谁结婚呢?
技术要点:
解决本实例的算法思想如下:
用“a=1”表示新郎a和x结婚,同理如果新郎a不和新娘x结婚则写成“a!=1”,根据题意得到如下表达式:
a!=1  a不与x结婚
c!=1  c不与x结婚
c!=3  c不与z结婚
我们在分析题的时候还要发现题中隐含的条件即:3个新郎不能互为配偶,则有:a!b且b!=c且a!=c。穷举所有可能的情况,带入上述表达式进行
推理计算,如果假设的情况使上述表达式的结果为真,则假设的情况就是正确的结果  */
#include<stdio.h>
int main(void)
{
    int a,b,c;
    for(a=1;a<=3;a++)
        for(b=1;b<=3;b++)
            for(c=1;c<=3;c++)
                if(a!=1&&c!=1&&c!=3&&a!=b&&b!=c&&a!=c)
                {
                    printf("%c will marry to a\n",'x'+a-1);//不明白是什么意思,而且为什么这里的'x'不需要初始化
                    printf("%c will marry to b\n",'x'+b-1);
                    printf("%c will marry to c\n",'x'+c-1);
                }
}
搜索更多相关主题的帖子: 未婚夫 表达式 婚礼 新娘 技术 
2015-05-02 15:17
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
得分:0 
c语言编程,当然要用c语言来编写,不是想一下就行了
2015-05-02 16:28
谦逊小子
Rank: 2
等 级:论坛游民
帖 子:20
专家分:44
注 册:2014-10-10
得分:0 
它是一个字符就是一个数了。
2015-05-02 19:18
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
得分:0 
哦,谢谢明白了
2015-05-03 11:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444749-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.264918 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved