Hola gente como andan? necesito su ayuda por favor ...resulta que tengo un problema en el que me dicen que ingrese cuatro palabras minimo, separadas por un espacio en blanco. Si se ingresan menos de 4 palabras tengo que ingresar la oracion que cumpla con el requisito. Lo que hago es lo siguiente.
/* lee es la funcion con la que leo el string*/
int lee(char a[]){
int i=0,contador_blancos=0,n;
printf("\n Ingrese una oracion de cuatro palabras:\n");
gets(a);
while((a[i]!='\0')){
i++;
if((a[i]==' '))&&(a[i-1]!=' ')
contador_blancos++;
if((contador_blancos<2))
printf("\n la oracion no tiene 4 palabras:\n");
printf("\n Ingrese una oracion de cuatro palabras:\n");
gets(a);
}
n=i;
return(n);
El problema es que si ingreso mas de 2 espacios me pide que ingrese otra vez la oracion, es decir no me cuenta los espacios en blanco y se me formo un bucle . Alguien sabe como lo soluciono ??
Se los voy a agradecer.!!!! gracias