Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 04 de Julio 2016, 18:04
-
Buenas tardes. Expongo una posible solución de los ejercicios de la entrega CU00535F del curso lenguajeC desde cero.
EJERCICIO Nº 1
Escribe un programa que pida tres cadenas al usuario y muestre su longitud (número de letras).
Ejemplo: el usuario introduce como cadenas perro, pez y cocodrilo. El programa mostrará por pantalla. El número de letras para perro es 5. El número de letras para pez es 3. El número de letras para cocodrilo es 9.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char cadena01[50], cadena02[50], cadena03[50];
printf("Introduzca una palabra: ");
scanf("%s", &cadena01);
printf("Intruduzca otra palabra: ");
scanf("%s", &cadena02);
printf("Intruduzca una %cltima palabra: ", 163);
scanf("%s", &cadena03);
printf("El n%cmero de letras para \"%s\" es: %d\n", 163, cadena01, strlen(cadena01));
printf("El n%cmero de letras para \"%s\" es: %d\n", 163, cadena02, strlen(cadena02));
printf("El n%cmero de letras para \"%s\" es: %d\n", 163, cadena03, strlen(cadena03));
return 0;
}
EJERCICIO Nº 2
Escribe un programa que pida tres cadenas al usuario y muestre el resultado de concatenar las dos primeras letras de las cadenas introducidas y que indique si las dos primeras cadenas son iguales.
Ejemplo: el usuario introduce como cadenas perro, vaca y cocodrilo. El programa mostrará por pantalla: “El resultado de concatenar las dos primeras letras de las cadenas es: pevaco. La primera cadena, perro, no es igual a la segunda cadena, vaca.”
Si el usuario introdujera perro, perro, mulo, el programa debería mostrar: “El resultado de concatenar las dos primeras letras de las cadenas es pepemu. La primera cadena, perro, es igual a la segunda cadena, perro.”
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char cadena01[50], cadena02[50], cadena03[50], subCadena01[3], subCadena02[3], subCadena03[3];
printf("Introduzca una palabra: ");
scanf("%s", &cadena01);
subCadena01[0] = cadena01[0];
subCadena01[1] = cadena01[1];
subCadena01[2] = '\0';
printf("Intruduzca otra palabra: ");
scanf("%s", &cadena02);
subCadena02[0] = cadena02[0];
subCadena02[1] = cadena02[1];
subCadena02[2] = '\0';
printf("Intruduzca una %cltima palabra: ", 163);
scanf("%s", &cadena03);
subCadena03[0] = cadena03[0];
subCadena03[1] = cadena03[1];
subCadena03[2] = '\0';
printf("El resultado de concatenar las dos primeras letras de las palabras es: %s.\n", strcat(strcat(subCadena01,subCadena02),subCadena03));
if(strcmp(cadena01,cadena02)==0){
printf("La primera palabra, %s, es igual a la segunda palabra, %s.", cadena01, cadena02);
}else{
printf("La primera palabra, %s, no es igual a la segunda palabra, %s.", cadena01, cadena02);
}
return 0;
}
Aunque debo reconocer que me ha gustado mucho más la forma de cómo lo haya solucionado nuestro compañero y experto Pedro. Pueden encontrar su solución en el siguiente enlace: https://www.aprenderaprogramar.com/foros/index.php?topic=4626.msg18928#msg18928 (https://www.aprenderaprogramar.com/foros/index.php?topic=4626.msg18928#msg18928)
Me surge la duda, ¿no existe el método "substring" en el lenguaje C igual que en JavaScript o en Java (entre otros)?
Gracias.
-
Buenas tardes todo bien, pues creo que substring tal cual no existe en C, aunque podrías crearte tú mismo una función que haga el mismo cometido ya que hay formas de emular lo que sería el substring de otros lenguajes. Hay bastantes cosas en que C difiere de lenguajes que a primera vista parecen parecidos.
Saludos