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结婚.这人事后知道他们在开玩笑,说的全是假的. 那么,究竟谁和谁结婚呢! 展开
帮帮忙吧,用c语言编程,解决以下问题:
3对情侣参加婚礼,3个新郎分别为A,B,C, 3个新娘分别为X,Y,Z, 有人想知道究竟谁与谁结婚,于是就问新人中的三位,得到如下结果:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚.这人事后知道他们在开玩笑,说的全是假的. 那么,究竟谁和谁结婚呢! 展开
2个回答
展开全部
/*解决本题算法思想:
用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);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询