Dadas 4 cadenas, programe para generar la cadena más pequeña entre ellas.
Estimados miembros del equipo Qiugeen, ¡hola! Efectivamente, LZ solicita cadenas ordenadas en orden ANSIC e imprime la cadena más pequeña entre ellas.
El objetivo de la prueba es el uso de strcmp. El programa logra esto simplemente usando un bucle.
El siguiente código es un ejemplo: (solo como referencia)
#include?
#include?
#include?
#include?h>
#include?
#include ?incluir?
#incluir?
#define?CNT_STRS?
#define?MAX_TEXT?10 p>
//?Generar una cadena aleatoria
void?generate(char?arrstr[][MAX_TEXT])
{ for?(int?i=0;? i arrstr[i][j]? =?rand()?%?26?+?' a'; arrstr[i][len] =?'\0'; :%s\n",?i?+?1,?arrstr[i]); } } /?Obtener la cadena mínima char*?get_min(char?arrstr[][MAX_TEXT]) {char?*ptr?=?arrstr[0]; para?(int?i=1;?i ptr?=?arrstr[i]; } } return?ptr; } int?main() { srand((unsigned?int)time(NULL));
}
== ==== ==================================================== ==
strcmp
Prototipo de introducción de función: extern?int?strcmp(const?char?*s1,const?char?*?s2); Uso: #include?
Cuando s1 Cuando s1=s2, valor de retorno = 0 Cuando s1>s2, valor de retorno >0 Es decir, las dos cadenas se comparan carácter por carácter de izquierda a derecha (según el tamaño del valor ASCII) hasta que aparecen caracteres diferentes o se encuentra '\0'. Por ejemplo, "A"< "B"? "a"> "A"? "computer"> "compare "Nota especial: strcmp(const?char?*s1,const?char?*?s2) aquí solo puede comparar caracteres No se pueden comparar cadenas, números y otras formas de parámetros. ============================================ = ================== Además, para que LZ amplíe el conocimiento, la diferencia entre la función stricmp y la función strcmp es que stricmp no es distingue mayúsculas y minúsculas. ¡Espero que mi respuesta te pueda ayudar! Otro: El autor, por favor adopte la respuesta de Qiugen. Por el bien de la tasa de adopción del equipo, ¡muchas gracias!