Colección de citas famosas - Slogan de motivación - Lenguaje C, intercambio de matrices de palabras; soy un novato, ¡resuélvelo!

Lenguaje C, intercambio de matrices de palabras; soy un novato, ¡resuélvelo!

1. Utilice burbujas para ordenar los números, como posición 1, posición 2, posición 3, posición 4 y posición 5***5.

Primero se compara la posición 1 con la posición 2, y la más pequeña se coloca en la posición 1. Luego compare el número en la posición 1 con el número en la posición 3 y coloque el número más pequeño en la posición 1. . . Comparado con el número en la posición 5, el número en la posición 1 es el más pequeño.

El número de la posición 2 se compara con el número de la posición 3, y el más pequeño se coloca en la posición 2. . . Compara el número en la posición 2 con el número en la posición 5;

Compara el número en la posición 3 con el número en la posición 4. Compare el número en la posición 3 con el número en la posición 5;

Compare el número en la posición 4 con el número en la posición 5;

Entonces el bucle debe escribirse como:

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

{

for(j = I+1;j & ltTX;j++)

{}

}

2.2. El parámetro de la función strcpy es un puntero char.

s es una matriz bidimensional y s[j] representa un puntero de dimensión 1. Si s[TX][100]={"abc","def"}, entonces s[0] apunta a 'a'; S[1] apunta a "d"

La temperatura es 1 -matriz dimensional. temp[100] no es un puntero, es un elemento de datos y, como char temp[100] está definido, el subíndice debe ser 0-99. Ha cruzado la línea. El nombre de la matriz unidimensional representa el puntero de la matriz (lea el libro para conocer conceptos específicos).

Por lo tanto, debe escribirse en forma de strcpy(s[j+1], temp).

3. Su método de intercambio de datos también es incorrecto.

Para intercambiar con la variable intermedia temp, como los datos a y b, primero debes poner a en temp, luego asignar b a a y luego asignar temp a b.

Y eres strcpy (s [j+1], temp[100]);. //Asigna accidentalmente temp a s primero.

4. El código modificado es el siguiente:

#Definition TX 5//Classmate

int main(int argc, char* argv[])< / p>

{

char s[TX][100], temp[100];

int max, I, j

para; ( I = 0;i<TX;i++)

{

obtiene(s[I]);

}

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

{

for(j = I+1;j & ltTX;j++)

{

if((strcmp(s[i], s[j])> 0))

{

strcpy(temp, s[I]); el intercambio.

strcpy(s[i], s[j]);

strcpy(s[j], temperatura

}

<); p>}

}

Printf("El resultado ordenado es: \ n "

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

{

printf("%s\n ",s[I]);

}

Sistema("Pausa ");

Devuelve 0;

}