Preguntas de programación en lenguaje C con puntuación alta Preguntas de programación en el entorno Visual C++6.0
Responda primero la primera pregunta: Se otorgan puntos, lea lo siguiente si tiene tiempo
#include
#include
#include
int main()
{
int i = 0, // bajo subíndice de matriz
j = 0, //Valor aleatorio
k, //Reasigna el subíndice de la matriz
temp //Variable de intercambio de clasificación de burbujas;
int n, //El número a buscar
len = 10, //La longitud de la nueva matriz cada vez
index; el número a buscar debe estar en la posición
int a[20], //La matriz donde se generan y almacenan los números aleatorios originales
b[10]; array donde se almacenan n números a encontrar, n<10
//Generar números aleatorios
srand ((int ) time(0));
para (i = 0; i <= 9 ; i++ )
{
j = rand() % 88 +10 ;
a[i] = j;
}
// Ordenación ascendente de burbuja
for(i = 0; i < 10; i++)
for( j = 0; j < 9 - i; j++)
si(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j + 1] = temporal;
} p>
// Salida en orden ascendente
for (i = 0; i <= 9; i++ )
{
printf (" %d \t", a[i]) ;
}
//Ingrese n el número a encontrar
printf ("Por favor ingrese el valor N ( número de entrada):\t");
scanf ("%d", &n);
printf ("Ingrese el número de %d respectivamente:\n", n );
for ( i = 0; i < n; i++ )
{
printf ("Ingrese el número %dth:\t", i + 1);
scanf ("%d", &b[i]);
}
//Sentencia del elemento de matriz
for (i = 0; i < n; i++)
{
//Juzga la posición en la matriz
for (j = 0; j < len; j++)
{
if (a[j] > b[i])
{
índice = j;
break ;
}
}
//Si el ciclo termina y no hay nadie más grande que b[i] se encuentra, entonces b[i] es el más grande
if (j == 10)
index = len
//Determina si es el; igual que el elemento de la matriz
>
for (j = 0; j < len; j++)
{
if (b[i] == a[j])
{
a[j] = 0; //Al asignar un valor de 0, se logra el efecto de eliminación
break;
} p>
}
/*Explicación:
Utilice el for de arriba para determinar si hay los mismos elementos. Si es así, saltará break Si j!=10. , puedes saltar La siguiente matriz está reasignada;
Pero si no, entonces j será igual a 10, entonces será reasignada y la posición donde debería estar b [i] se ha encontrado antes. , entonces estará bien
*/
// Realiza un bucle una vez, si hay elementos diferentes, es decir, j = len, luego reasigna la matriz
if (j == len )
{
for (k = len - 1; k >= índice; k--)
{
a[ k + 1] = a[k];
}
a[índice] = b[i];
len ++; // Cada vez que hay un elemento nuevo, len se incrementará en 1 para alargar la matriz
}
}
// Genere los últimos datos,
for (i = 0; i < len; i++)
{
if (a[i] == 0) / /Si es 0, significa que los datos son los mismos que los originales, es decir, los datos que se van a eliminar
continuar;
printf ("%d\t", a[i]);
}
devuelve 0;
}