Ejemplo 59: Dos equipos de tenis de mesa compiten, cada uno con 3 personas. El equipo A está compuesto por A, B y C, con 3 personas, y la pareja B está compuesta por X, Y, Z, con 3 personas. Se han sorteado para determinar la lista. Alguien preguntó a los miembros del equipo sobre la lista de partidos. A dijo que no jugaba con X, y C dijo que no jugaba con X o Z. El programa de programación en lenguaje C descubrió la lista de 3 pares de jugadores.
Idea de resolución de problemas: solo hay una declaración en toda la parte de ejecución, por lo que solo hay un punto y coma al final de la declaración. Se pide al lector que averigüe la relación de anidamiento entre el bucle y la estructura de selección. El título se asigna a A, B, C, X, Y, Z, y las constantes de caracteres con apóstrofos se utilizan en el programa. 'X' , 'Y', 'Z', ¿Por qué? Esto es para mostrar directamente los caracteres A, B, C, X, Y y Z en tiempo de ejecución para indicar la situación de 3 grupos de confrontación.
Demostración del código fuente:
#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
}
Los resultados de la compilación y ejecución son los siguientes:
A--z
B--x
C--y
--------------------------------
Process exited after 0.08659 seconds with return value 0
请按任意键继续. . .
Kobayashi utilizó el método más básico para implementar el código anterior. Los lectores pueden entenderlo fácilmente. Sin embargo, también hace que se aniden varias capas de bucles. Los lectores interesados pueden intentar optimizarlo por sí mismos.
Programación en lenguaje C para conocer la lista de 3 pares de competidores.
Más casos pueden ir a la cuenta pública: Entrada en lenguaje C para competente