Red de conocimiento informático - Computadora portátil - c programación del problema del gato comiendo ratón

c programación del problema del gato comiendo ratón

#include?lt;stdio.hgt;

void?GetLastMouse(int?nType, ?int?nCount, ?int?nMouse[], ?int?amp;nLastMouse)

{//?nType--0 significa comer un número impar, 1 un número par; nCount--el número total de ratones //?nMouse--la matriz de números de serie de todos los ratones; el último ratón

int?nAllIndex?=?0;?//?Índice de ratones totales

int?nLifeIndex?=?0;?//?Índice de ratones vivos

int?nLife?=?0; //Ratones vivos

int?nLifeCount?=?0;?//?Número total de ratones vivos

for(nAllIndex? =?0;?nAllIndex?lt;?nCount;?nAllIndex )

{?//?Obtenga el número de todos los ratones vivos y guarde el índice del último ratón vivo

if?(0?!=?nMouse[nAllIndex])

{

nLifeCount;

nLife?=?nAllIndex;

}

}

if?(1?==?nLifeCount)?//?Si solo queda un ratón vivo, regresa

{

nLastMouse?=?nMouse[nLife];

¿regresar?;

}

para?( nAllIndex?=?0,?nLifeIndex?=?0;?nAllIndex?lt;?nCount?amp;amp;?nLifeIndex?lt;?nLifeCount;?nAllIndex )

{

if?(0?!=?nMouse[nAllIndex]?)?//?Aún no se ha comido

{

if?(nType?==?nLifeIndex? ?2 )?//?Y está en la posición de ser comido

nMouse[nAllIndex]?=?0;?//?0 significa ser comido

nLifeIndex;

}

}

GetLastMouse(nType,?nCount,?nMouse,?nLastMouse);?//?Operación recursiva

}

void?main()

{

int?nArray[]?=?{1, 2, 3, 4, 5, 6, 7, 8 , 9, 10};

int?nLastMouse?=?0;?//?El último ratón

GetLastMouse(0,?10,?nArray,?nLastMouse);

printf("El primer número del último mouse es: d\n",?nLastMouse);

}