Colección de citas famosas - Slogan de motivación - Lenguaje C, en el entorno C++, use punteros para ejecutar el método de "ingresar tres cadenas y generarlas en orden de pequeña a grande", por favor deme algún consejo ~ ~

Lenguaje C, en el entorno C++, use punteros para ejecutar el método de "ingresar tres cadenas y generarlas en orden de pequeña a grande", por favor deme algún consejo ~ ~

De hecho, stcpy() y strcmp() son funciones implementadas por punteros. Aquí defino las funciones strcpy() y strcmp(). Eche un vistazo a la implementación de su puntero.

#Contiene "stdio.h"

int strcmp(char *s1, char *s2)

{

int i= 0, j = 0;

mientras(*(s1+i)!= '\0' & amp& amp*(s2+j)!='\0')

{

if(*(s 1+I)& gt;*(s2+i))

Devuelve 1;

if(*(s 1 +I)<*(s2+i))

return-1;

i++, j++;

}

si (*(s1+i)=='\0 ')

{

if(*(s2+j)=='\0 ')

Devuelve 0;

Otros

retorno-1;

}

Devuelve 1;

}

void strcpy(char *s1, char *s2)

{

int I = 0;

mientras(*(s2 + i)! ='\0')

{

*(s 1+I)= *(S2+I);

i++;

}

*(s 1+I)= '\ 0'

}

void main()

{

char s1[50], s2[50], S3[50];

char s[50]; tres cadenas:\ n ");

obtiene(s 1);

obtiene(S2);

obtiene(S3);

p>

if(strcmp(s1, s2)>0)

{

strcpy(s, s 1);

strcpy( s1, S2);

strcpy(s2, s);

}

if(strcmp(s1, s3)>0)

{

strcpy(s, s 1);

strcpy(s1, S3);

strcpy(s3, s

);

}

if(strcmp(s2, s3)>0)

{

strcpy(s, S2);

strcpy (s2, S3);

strcpy(s3, s);

}

Printf("Salida descendente: \ n "); p>

printf("%s\n%s\n%s\n ",s1,s2,S3);

}

Tenga en cuenta que eliminé el string.h, por lo que strcpy y Strcmp aquí están escritos por nosotros mismos, no por funciones de biblioteca.

Cuando ingresas una cadena, termina con un carácter de espacio en blanco. Ingrese y los espacios están bien. No es necesario ingresar '\0';

Además, la solución del cartel original se puede lograr y la he probado.

La comparación del tamaño de una cadena se refiere a ordenar por diccionario, no por longitud. Creo que deberías saberlo.

Por ejemplo:

Ni Hao

Ni

Ángulo

Después de ordenar

Ángulo

Níquel

Ni Hao