c语言问题 帮帮忙吧,用c语言编程,解决以下问题: 3对情侣参加婚礼,3个新郎分别为A,B,C,

c语言问题帮帮忙吧,用c语言编程,解决以下问题:3对情侣参加婚礼,3个新郎分别为A,B,C,3个新娘分别为X,Y,Z,有人想知道究竟谁与谁结婚,于是就问新人中的三位,得到... c语言问题

帮帮忙吧,用c语言编程,解决以下问题:
3对情侣参加婚礼,3个新郎分别为A,B,C, 3个新娘分别为X,Y,Z, 有人想知道究竟谁与谁结婚,于是就问新人中的三位,得到如下结果:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚.这人事后知道他们在开玩笑,说的全是假的. 那么,究竟谁和谁结婚呢!
展开
 我来答
yr78044367
推荐于2017-09-07 · TA获得超过535个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:94.6万
展开全部
/*解决本题算法思想:
用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!=b
此题用穷举,同时满足以上六个条件即可*/
#include <stdio.h>
main()
{
    int a, b, c;
    for (a = 1; a <= 3; a++) /*穷举a的所有可能*/
        for (b = 1; b <= 3; b++) /*穷举b的所有可能*/
            for (c = 1; c <= 3; c++) /*穷举c的所有可能*/
                if (a != 1 && c != 1 && c != 3 && a != b && a != c && b != c)
/*如果表达式为真,则输出结果,否则继续下次循环*/
    {
        printf("%c will marry to a\n", 'x' + a - 1);
        printf("%c will marry to b\n", 'x' + b - 1);
        printf("%c will marry to c\n", 'x' + c - 1);
    }
}
听不清啊
高粉答主

2015-06-09 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
B-X,C-Y,A-Z
追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式