26.两个乒乓球队进行比赛

26.两个乒乓球队进行比赛,各处3个人。甲队为A,B,C3人,乙队为X,Y,Z三人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请用程序找出3对赛手的名单。

解析:分析题目,得出A--z,B--x,C--y。用计算机处理此问题的时候,不可能立即就得出此结论,而必须对每一种成对的组合一一检验,看他们是否符合条件。开始时,并不知道A,B,C与X,Y,Z中哪一个比赛,可以假设:假设A与i比赛,B与j比赛,C与k比赛;i,j,k分别是X,Y,Z之一,且i,j,k互不相等。

 1  #include <stdio.h>
 2  #include <stdlib.h>
 3  int main()
 4   {
 5     char i,j,k; //假设A与i比赛,B与j比赛,C与k比赛;i,j,k分别是X,Y,Z之一,且i,j,k互不相等
 6     for(i='x';i<='z';i++)
 7      for(j='x';j<='z';j++)
 8       if(i!=j)
 9        for(k='x';k<='z';k++)
10         if(i!=k&&j!=k)
11          if(i!='x'&&k!='x'&&k!='z')
12           printf("A--%c\nB--%c\nC--%c\n",i,j,k);
13      return 0;
14  }

猜你喜欢

转载自www.cnblogs.com/spore/p/10375718.html