Colección de citas famosas - Slogan de motivación - El orden del diccionario del lenguaje C es el más pequeño.

El orden del diccionario del lenguaje C es el más pequeño.

Utilice el teclado para ingresar los nombres de n estudiantes y luego organice los resultados según el diccionario.

Diseño de algoritmo:

(1) Defina una matriz de caracteres bidimensionales para almacenar los nombres de n estudiantes.

Nombre del personaje [N][13];

(2) Utilice el método de clasificación selectiva para ordenar N cadenas a través de la función de comparación strcmp().

(3) Resultados de salida

Idea de clasificación selectiva

(1) En la primera pasada, seleccione el registro con el valor de palabra clave más pequeño de n registros como Primero registrar;

k = 0;

for(j = 0 1; j if(k!= 0){ t = a[k]; a[k] = a[ I]; a[I]= t;}/*Intercambio de unidad K y unidad 0*/

(2) En la segunda pasada, de los N-1 registros restantes Seleccione el registro con el menor valor clave como segundo registro;

k = 1;

for(j = 1 1;j if(k!= 1){ t = a[k]; a[ k] = a[I]; a[I] = t;}

(3) Generalmente en el paso I, el registro con el valor clave más pequeño se selecciona como registros del paso I (I = 1). , 2, ..., n-1) del resto n-I 1.

k = I-1;

for(j = I; j if(k!= 1 ){ t = a[k]; a[k]= a[I]; a[I]= t;}

Para una matriz A de n elementos, use C El segmento de programa para la selección de idioma la clasificación es:

for(I = 0; i { k = i

for(j = I 1; j if(k!= I){ t = a[k] ; a[k] = a[I]; a[I] = t;}

}

Exactamente similar, ponemos el nombre del carácter de la matriz bidimensional [N] [13] se considera como N matrices de caracteres unidimensionales:

Nombre[0], nombre[1], nombre[2],..., nombre[N-1].

En la sección del programa de clasificación de selección, compare dos números:

If(a[j] se cambia a: if (strcmp (nombre [j], nombre [k])

p>

Y la declaración de intercambio de datos: { t = a[k]; a[k] = a[I]; a[I] = t;}

Cambiado a: {strcpy(t , nombre[k]); strcpy(nombre[k], nombrea[I]); strcpy(nombre[i], t);}

Lista completa de programas

# Contiene "stdio.h"

#Contiene "string.h"

main()

{cahr name[10][13], temp[13 ]; int I;

for(I = 0; I lt10; i ){

Printf("Ingrese el nombre del estudiante d:\n ",I 1);

Obtener(nombre[I]);

}

for(I = 0; i lt9; i )

{ k = I;

for(j = I 1;j lt10;j)if(strcmp(nombre[j],nombre[k]) lt;0)k = j;

if (k!=i){strcpy(temp, nombre[k]);

strcpy(nombre[k], nombre[I]); );

strcpy(nombre[k], nombre[I]); strcpy(nombre[i], temperatura);

p>

}

}

printf(" 10 nombres de estudiantes ordenados por diccionario: \ n ");

for(I = 0; i lt10; i )printf("\n s ", nombre[I ]);

}