1 /*18 【程序 18 乒乓球赛】
2 题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。
3 有人向队员打听比赛的名单。a说他不和 x比,c说他不和 x,z 比,
4 请编程序找出三对赛手的名单。
5 */
6
7
8 /*分析
9 * (a!=x)&(c!=x)&(c!=z)==>b=x
10 * (b=x)&(c!=z)==>a=z
11 * ==>c=y
12 * ------------------enmmmmm,直接就出来了
13 * 如题,既然抽签是抽签决定,那就试试抽签
14 * 分别给甲队A,B,C三个号1,2,3,再通过条件排除,判断X,Y,Z三人手上是什么签=====有问题,判断不了哪个签再谁手上
15 * 借鉴网上办法,直接将乙队没人的ASCII码赋给甲队,就能通过if判断谁可能是对手,用三层循环,每层判断一个人的可能对手,就能得到最终三人的对手
16 * */
17
18
19
20
21 package homework;
22
23 public class _18 {
24
25 public static void main(String[] args) {
26 char A,B,C; //分别给甲队每人一个数字签
27 //第一层循环判断A可能的对手
28 for ( A='X'; A<='Z'; A++) {
29 if(A!='X') { //A说不和X比赛
30 //第二层判断B可能的对手(没有条件,直接枚举所有的)
31 for (B='X';B<='Z'; B++) {
32 //第三层判断C可能的对手
33 for(C='X';C<='Z'; C++) {
34 if((C!='X')&(C!='Z')&(A!=B)&(A!=C)&(B!=C)) { //C说不和X,Z比赛
35 System.out.println("各组对手为:\n"+"A-"+A+"\nB-"+B+"\nC-"+C);
36 }
37 }
38 }
39 }
40 }
41
42 }
43
44 }