C语言 | 乒乓球比赛,编程找出3对赛手的名单

例59:两个乒乓球队进行比赛,各出3个人。甲队为A,B,C,3人,乙对为X,Y,Z,3人,已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比赛,C说他不和X,Z比赛,C语言编程程序找出3对赛手的名单。

解题思路:整个执行部分只有一个语句,所以只在语句的最后有一个分号。请读者弄清楚循环和选择结构的嵌套关系,题目给的是A,B,C,X,Y,Z,而程序中用了加撇号的字符常量‘X’,'Y','Z',这是为什么?这是为了在运行时能直接输出字符A,B,C,X,Y,Z,以表示3组对抗的情况。

源代码演示:

#include<stdio.h>//头文件 
int main()//主函数 
{
  char i,j,k;//定义字符变量 
  for(i='x';i<='z';i++)//i是a的对手;j是b的对手;k是c的对手 
  { for(j='x';j<='z';j++) { if(i!=j) { for(k='x';k<='z';k++) { if(i!=k&&j!=k) { if(i!='x'&&k!='x'&&k!='z') { printf("A--%c\nB--%c\nC--%c\n",i,j,k);//输出结果 
 } } } } }
  }
  return 0;//主函数返回值为0 
}

编译运行结果如下:

A--z
B--x
C--y

--------------------------------
Process exited after 0.08659 seconds with return value 0
请按任意键继续. . .

上述代码,小林用了最基础的方法去实现了,读者看着会很容易看明白,但也造成了嵌套了好几层循环,有心的读者可以自己试着优化一下。

C语言 | 找出3对赛手的名单 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/343637473

(完)