Red de conocimiento informático - Conocimiento informático - ¿Cómo programar si los 6 números 1, 3, 5, 7, 9, 11 y 13 están ordenados aleatoriamente en 2 grupos?

¿Cómo programar si los 6 números 1, 3, 5, 7, 9, 11 y 13 están ordenados aleatoriamente en 2 grupos?

Si desea lograr eficiencia, necesita una estructura de datos más compleja. Los números aquí son relativamente pequeños, así que utilice un método simple.

#includelt;stdio.hgt;

#includelt;stdlib.hgt;

void main()

{

int datos[]={1, 3, 5, 7, 9, 11, 13};

int i, j

aleatorio(); p>

p>

j=random(5) 1;

printf("primero:");

for(i=1;ilt;=3 ;i)// Selecciona aleatoriamente tres números

{

while(data[j]==0)//Si la posición de la matriz es 0, continúa seleccionando aleatoriamente

{

j=aleatorio(5) 1;

}

printf("d ", datos[j]); >

data[ j]=0; //Una vez seleccionada la matriz, se debe establecer en 0 para evitar la selección repetida en el futuro

}

printf(" \nsegundo:"); //Los números restantes que no son 0 se dividen en el segundo grupo

for(i=0;ilt;=6;i)

{

if(datos[i]! =0)

printf("d ", datos[i])

}

getch();

}

Resultado de la ejecución:

primero: 9 7 5

segundo: 1 3 11 13

primero: 11 3 7

segundo: 1 5 9 13

Si quieres que los resultados sean más aleatorios y generales, puedes modificar el código tú mismo

Si eres perfeccionista, puedes cambiarlo a una estructura de lista enlazada, que será mucho más eficiente