I need to print only the first two vowels of a word in c. Example: Computer print only: ou.
I tried it in many ways but none of them worked for me.
I need to print only the first two vowels of a word in c. Example: Computer print only: ou.
I tried it in many ways but none of them worked for me.
Hello!
My solution would be something like this.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
char cadena[20];
printf("Ingrese una cadena: "); //Ingreso la cadena por teclado.
scanf("%s", cadena); //Leo la cadena.
tolower(cadena); //Hago todas las letras de la cadena minusculas.
printf("\n\nLas 2 primeras vocales son: ");
/*inicializo la variable i para el ciclo for y recorrer toda la cadena, y tambien una variable cont para contar cuantas vocales he encontrado.*/
int i = 0, cont = 0;
for(i = 0; i < strlen(cadena); i++){
/*A medida que recorro el vector, si en alguna posición i que recorre el vector, la letra es una vocal, la imprimo y aumento
el contador en 2, por eso la condicion de que cont < 2, por que si no seguiría imprimiendo todas las vocales de la cadena.*/
if( (cadena[i] == 'a' || cadena[i] == 'e' || cadena[i] == 'i' || cadena[i] == 'o' || cadena[i] == 'u') && cont < 2 ){
cont ++;
printf(" %c ", cadena[i]); //imprimo las vocales.
}
}
return 0;
}
I hope I have helped you!