码迷,mamicode.com
首页 > 其他好文 > 详细

第一章-实例8-婚礼上的谎言问题

时间:2020-01-05 09:17:01      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:第一个   com   正确答案   pre   std   int   自己的   标准   问题   

问题描述:三对新人参加婚礼,三位新郎A,B,C,三位新娘X,Y,Z。有人想知道谁与谁结婚,于是就问他们:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。他们都在说谎。编程求谁与谁结婚。

算法思想:构建逻辑表达式 (a!=1 && c!=1 && c!=3 && a!=b && b!=c && a!=c)

注意字符输出

自己的算法有一点点问题,不会输出字符

#include <stdio.h>
#include <stdlib.h>

int main()
{
    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("A与%d结婚\n",a);
                    printf("B与%d结婚\n",b);
                    printf("C与%d结婚\n",c);
                }
          }
    return 0;
}

输出结果为:
技术图片
标准答案可以输出字符:

#include<stdio.h>
#include <stdlib.h>
int main()
{
    int a,b,c;                  //a,b,c为三个男人
    for(a=1;a<=3;a++)           //给a,即第一个男人尝试匹配给每一个女人
        for(b=1;b<=3;b++)       //给a,即第一个男人尝试匹配给每一个女人
            for(c=1;c<=3;c++)   //给a,即第一个男人尝试匹配给每一个女人
                if(a!=1 && c!=3 && c!=1 && a!=b && b!=c && a!=c)    //根据他们说的话进行判断
                {
                    //符合条件,即正确的情况下,输出正确答案
                    printf("%c将嫁给A\n",'X'+a-1);
                    printf("%c将嫁给B\n",'X'+b-1);
                    printf("%c将嫁给C\n",'X'+c-1);
                    printf("\n");
                    printf("%d将嫁给A\n",a);
                    printf("%d将嫁给B\n",b);
                    printf("%d将嫁给C\n",c);
                }
                //程序计算结束。退出程序
                system("pause");
                return 0;
}

结果为:
技术图片

第一章-实例8-婚礼上的谎言问题

标签:第一个   com   正确答案   pre   std   int   自己的   标准   问题   

原文地址:https://www.cnblogs.com/FangXu1998/p/12151479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!