Resumen: Funciones básicas de cadenas
Parte de la sección Logic & Flow del Journey de C de Coddy — lección 19 de 63.
Desafío
FácilEscribe un programa en C que procese pares de palabras y demuestre todas las funciones de cadena esenciales que has aprendido. Tu programa debe:
- Leer un entero
nque represente el número de pares de palabras a procesar - Para cada par de palabras:
- Leer la primera palabra de la entrada
- Leer la segunda palabra de la entrada
- Usar
strlen()para calcular e imprimir la longitud de cada palabra - Usar
strcmp()para comparar las dos palabras e imprimir si son idénticas o diferentes - Crear una cadena combinada concatenando la primera palabra, un espacio y la segunda palabra usando
strcpy()ystrcat() - Imprimir la cadena combinada
- Después de procesar todos los pares, encontrar e imprimir el par que creó la cadena combinada más larga
Recuerda incluir el encabezado <string.h> para usar las funciones de cadena.
Tu salida debe mostrar los resultados en el siguiente formato:
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
...
Longest combined string: [longest_combined_string]Por ejemplo, si la entrada es:
3
hello
world
test
test
programming
languageTu salida debe ser:
Word 1: hello (Length: 5)
Word 2: world (Length: 5)
Comparison: different
Combined: hello world
Word 1: test (Length: 4)
Word 2: test (Length: 4)
Comparison: identical
Combined: test test
Word 1: programming (Length: 11)
Word 2: language (Length: 8)
Comparison: different
Combined: programming language
Longest combined string: programming languageEste desafío pone a prueba tu comprensión de la combinación de strlen() para el cálculo de longitud, strcmp() para la comparación de cadenas y strcpy() con strcat() para la concatenación de cadenas en un programa integral que procesa múltiples pares de cadenas.
Pruébalo tú mismo
#include <stdio.h>
#include <string.h>
int main() {
int n;
scanf("%d", &n);
char word1[100], word2[100];
char combined[200];
char longest_combined[200] = "";
// TODO: Escribe tu código aquí
// Procesa cada par de palabras y encuentra la cadena combinada más larga
return 0;
}Todas las lecciones de Logic & Flow
1Fundamentos de Punteros
¿Qué es un puntero?Declaración de punterosEl operador de dirección (&)El operador de desreferencia (*)Punteros NULLResumen: Conceptos básicos de punteros4Proyecto: Utilidad de texto simple
Descripción general del proyectoContar caracteres2Punteros y Arrays
Nombres de Arrays como PunterosElementos de un Array - PunterosAritmética de PunterosComparación de PunterosResumen: Recorrido de Arrays con Punteros5Punteros y funciones
Paso por valorPasar punteros a funcionesModificar variables mediante punterosUn ejemplo clásico: Intercambio (Swap)Pasar arrays a funcionesResumen: Argumentos de punteros a funciones3Arreglos de caracteres y cadenas
Cadenas como arreglos de charEl terminador nuloEntrada de cadenas con scanfUso de strlen()Uso de strcpy()Uso de strcat()Uso de strcmp()Resumen: Funciones básicas de cadenas