Red de conocimiento informático - Aprendizaje de código fuente - Programación de conteo

Programación de conteo

13 personas te dan uno. Específicamente, se puede cambiar a N, principalmente para pensar. Deberías estudiar mucho.

# include ltstdio.h gt

#Definición número 13

Personal de estructura {

int número;

int next

}Enlace [N 1];

//Definir una estructura de persona. Esta estructura tiene dos atributos, uno es registrar el número, el número representado por esta persona. , y el otro es un arreglo que representa next, su next y link [14].

void main(){

int i, recuento, h

for(I = 1; i lt= N; i ){

Enlace[i]. número = I;

si (i==N)

Enlace[i]. next = 1;

Otro

Enlace[i]. next = I 1;

}//Inicialización, 13 personas forman un círculo.

printf(" \ n ");

count = 0;

h = N; //Inicializar H en n, H es útil a continuación, se registra el testamento.

printf("El orden en que las personas abandonan el círculo:\n ");

/*Soy un poco vago acerca del significado anidado de estos dos while*/

mientras(cuenta lt; N-1){

I = 0;

mientras (i!=3){

h = enlace[h] . next; //h se usa para registrar la tarea excluida y h se usa para registrar temporalmente la siguiente tarea.

If(link[h].number)//Si el número es 0, significa que esta persona ha sido excluida y no cuenta.

i; //Si esta persona todavía está allí, hago 1 y sigo contando.

}//Si i=3, sal del bucle.

printf("4d", link[h].number); //Ingresa el número de la persona que saltó

Link[h]. Número = 0; //Excluye personas del círculo estableciendo el número en cero.

count; //Registra las personas que saltaron.

}

printf("\nEl último es");

for(I = 1; i lt= N; i)

if (enlace[i].número) printf("3d ", enlace[i].número);

}