C语言判断结婚问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言判断结婚问题相关的知识,希望对你有一定的参考价值。

2、三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。但这人后来知道他们在开玩笑,全是假话。请编程找出谁将和谁结婚。
#include <stdio.h>
void main()
int x,y,z;
for(x=1;x<=3;x++) /*穷举x的全部可能配偶*/
for(y=1;y<=3;y++) /*穷举y的全部可能配偶*/
for(z=1;z<=3;z++) /*穷举z的全部可能配偶*/
if(x!=1&&x!=3&&z!=3&&x!=y&&x!=z&&y!=z) /*判断配偶是否满足题意*/
printf("X will marry to %c.\n",'A'+x-1); /*打印判断结果*/
printf("Y will marry to %c.\n",'A'+y-1);
printf("Z will marry to %c.\n",'A'+z-1);
getche();


为什么输出时都是'A'+x-1这种的啊????
我的意思是在printf里要写成'A'+x-1,而不是其他的呢,这个又是什么意思呢??

目的是 把数字1 2 3 分别转化为A B C!
x=1时 ‘A’+x-1是字符A,X=2时‘A’+x-1是字符B.......
参考技术A 你定义一个字符变量如m='A'在运行呢??? 参考技术B 我运行是正确的 参考技术C 看不懂

第一章-实例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;
}

结果为:
技术图片

以上是关于C语言判断结婚问题的主要内容,如果未能解决你的问题,请参考以下文章

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

c语言编程

C语言10个数字判断问题

关于c语言判断电话号码合法问题

C语言中判断N个数中的素数并求和

c语言判断三角形