#include <stdio.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的新娘是%c。\n", 'X'+A-1);
printf("新郎B的新娘是%c。\n", 'X'+B-1);
printf("新郎C的新娘是%c。\n", 'X'+C-1);
}
}
}
}
return 0;
}
算法分析:
- 假设X、Y、Z分别对应1、2、3,使用多重循环分别穷举所有可能性。
- 排除三种不成立的情况。
- 特别要注意:当X=1时,Y、Z就不能为1了。也就是 X != Y != Z。
- 注意字符类型的加法。