zoukankan      html  css  js  c++  java
  • 第一章-实例8-婚礼上的谎言问题

    问题描述:三对新人参加婚礼,三位新郎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结婚
    ",a);
                        printf("B与%d结婚
    ",b);
                        printf("C与%d结婚
    ",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
    ",'X'+a-1);
                        printf("%c将嫁给B
    ",'X'+b-1);
                        printf("%c将嫁给C
    ",'X'+c-1);
                        printf("
    ");
                        printf("%d将嫁给A
    ",a);
                        printf("%d将嫁给B
    ",b);
                        printf("%d将嫁给C
    ",c);
                    }
    				//程序计算结束。退出程序
    				system("pause");
    				return 0;
    }
    
    

    结果为:

  • 相关阅读:
    2019春总结
    2019春第一周编程总结
    第十二周
    2019春第七周编程总结
    2019春第四周作业
    人生路上对我影响最大的三位老师
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告(二)
    第三周课程总结&实验报告一
    第二周java学习总结
  • 原文地址:https://www.cnblogs.com/FangXu1998/p/12151479.html
Copyright © 2011-2022 走看看