Ayuda a escribir un programa. La pregunta es: use el método de puntero a puntero para ordenar y generar 5 cadenas.
#define _CRT_SECURE_NO_WARNINGS 1
#includelt;stdio.hgt;
#includelt;stdlib.hgt;
#includelt;string .hgt;
void sort(char **p)
{
char **q, **s, *t;
para (q = p; q lt; p 4; q )
{
para (s = q 1; s lt; p 5; s )
{
if (strcmp(*q, *s) gt; 0)
{
t = *q;
*q = *s;
*s = t;
}}
}
}
int main()
{
char *a[5], b[5][99], **p;
int i;
for (i = 0; i lt; 5; i)
a[i] = b[i];
printf("Por favor, introduzca secuencia Cinco cadenas:\n");
for (i = 0; i lt; 5; i)
scanf("s", a[i]);< / p>
p = a;
sort(p);
printf("La salida después de ordenar es:\n"); (i = 0; i lt; 5; i)
{
printf("s\n", a[i]);
}
system("pause");
return 0;
}
Efecto operativo:
Información ampliada :
Uso de la función scanf():
El valor de salida son solo los caracteres antes del espacio porque el formato de entrada de la función scanf es incorrecto y es necesario agregar amp; la variable del parámetro de entrada.
scanf("s", s); cambiado a scanf("s", & s
El uso de scanf es: scanf("cadena de control de formato", Entrada). parámetro uno, parámetro de entrada dos);
La cadena de control de formato contiene: instrucciones de control de formato, caracteres comunes.
1. La cadena de control de formato representa el formato de entrada (d se usa para el tipo int, f se usa para el tipo flotante y lf se usa para el tipo doble)
2. caracteres: al generar datos, los caracteres se muestran tal como están, como por ejemplo: fahr=, celsius= en "fahr=d, celsius=d\n".
3. El parámetro de entrada es la dirección de la variable, así que agregue amp delante de la variable.