59-新郎和新娘问题

来源:互联网 发布:淘宝返利是真的吗 编辑:程序博客网 时间:2024/06/10 04:11
#include <stdio.h>#include <conio.h>/*三对新婚夫妇参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。这人听后知道他们在开玩笑,全是假话。请编程找出谁将和谁结婚。题目分析:如果“乱点鸳鸯谱”的话,三个新郎A、B、C和三个新娘X、Y、Z共有6种配对组合方式。这是因为不能出现两个新郎(新娘)和一个新娘(新郎)结婚的状况,所以只可能有3*2*1=6种配对方案。因此只要穷举出这6种配对方案,再应用问题中给出的约束条件就可以筛选出正确的答案来。*/main(){//分别表示a,b,c的结婚对象 char i,j,k;for(i='x';i<='z';i++){for(j='x';j<='z';j++){for(k='x';k<='z';k++){//男人和男人不结婚 if(i!=j&&i!=k&&j!=k){if(i!='x'&&k!='x'&&k!='z'){printf("a和%c结婚,b和%c结婚,c和%c结婚。",i,j,k);} } }}}}

0 0