Red de conocimiento informático - Material del sitio web - 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).

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