C语言道题目!

来源:百度知道 编辑:UC知道 时间:2024/06/21 06:06:37
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定
比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出
三队赛手的名单。
请问程序代码?并详细解释思路和代码一下!谢谢~

上面这位很厉害,我只对他的答案做个解释

#include<stdio.h>
main()
{
char i,j,k; /*i是a的对手,j是b的对手,k是c的对手*/
for(i='x';i<='z';i++) /* 第一层循环找出a的对手,当找到a的对手后这层循环作完*/
for(j='x';j<='z';j++) /* 第一层循环找出b的对手,当找到b的对手后这个循环作完*/
{
if(i!=j) /*这个条件是说明a和b不能是同一个选手*/
for(k='x';k<='z';k++) /* 第一层循环找出b的对手,当找到b的对手后这层循环作完*/
{ if(i!=k&&j!=k) /*这个条件是说明a和c,b和c不能是同一个选手*/
{ if(i!='x'&&k!='x'&&k!='z') /*这是题目中给的答案,
当这个条件成立时,程序执行完毕*/
printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
}
}
}
}

给:

#include<stdio.h>
main()
{
char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/
for(i='x';i<='z';i++)
for(j='x';j&l