Pídale a un maestro respuestas a las preguntas de programación en lenguaje C de primer año. . . . . . Gracias. Hay n personas en un círculo, numeradas en orden, comenzando desde la primera persona (del 1 al 1).
#include
#define N 10
void main()
{
char estudiante[N];//N individuos, 1 significa no salido, 0 significa salido
int out[N];//Registro numérico de la persona que salió
int count = -1;//Recuento de bucles 0, 1, 2 <=> 1-3
int num_out = -1;//El subíndice de la matriz del registro de número de salida
memset(student, 1, sizeof(student));//Establece el estado de todos en 1 (no salido)
for (int i = 0; i < N && num_out < N - 1; i = ++i % N)
{
if (1 == estudiante[i] && 2 == ++count%3)
{< / p>
//El número de personas que no han salido se marcará como saliendo si el recuento llega a 2, y el número se guardará en la matriz de salida
estudiante[i] = 0;
out [++num_out] = i;
}
}
//Número de salida de salida del bucle
for (int i = 0; i < N; ++i)
{
printf("%d\t", out[i]+1);
}
}
PD: lo acabo de escribir y verificar brevemente: OK