Código fuente del círculo pago

Este debería ser el código fuente del libro en lenguaje C de Tan Haoqiang.

Te lo enviaré por correo

# include & ltstdio.h & gt

void main()

{

int i, k, m, n, num[50], * p;

printf("Ingrese el número de personas: n = "); scanf("% d ",& ampn);

p = num

for(I = 0;i<n;i++)

*(p+I )= I+1;

I = 0

k = 0

m = 0

mientras(m &; lt; N-1)//m es el número de personas en la oficina. Debido a que hay n personas y solo queda una, como máximo (n-1) personas se eliminan, formando un ciclo.

{

if(*(p+i)!=0)//Determine si este número (número de serie original) está fuera.

k++; // Si el número no se puede contar, informe el número y agregue 1 al contador.

If(k==3)//Informe 3.

{

*(p+I)= 0; //Marca a la persona que está fuera.

k = 0; //Pon el contador a cero para que los demás puedan contar.

m++; //Agrega 1 al contador de exceso

}

i++ //Mueve el puntero hacia atrás. Aunque I no es un puntero, p+i es un puntero, por lo que sirvo al puntero.

If(i==n)//Si el puntero se mueve hasta el final, regresa al encabezado.

I = 0;

}

// El ciclo anterior es seguido principalmente por encontrar la última persona, lo cual es fácil de entender.

While(*p==0)//Utilice esto para juzgar solo el número delante del número que está buscando (incluido el número que está buscando), pero no el número detrás de él.

p++;

printf("El último es N0. %d\n ", * p); Si no entiendes nada, puedes preguntarme.

arget="_blank">Red de conocimientos turísticos All Rights Reserved.