Cita:
Iniciado por CalgaryCorpus El problema de contar es un clásico y está lleno de casos especiales.
Los programas ofrecidos pueden tener problemas para algunos casos especiales, de modo que sugiero revisarlos con cuidado.
Ejemplo de caso especial:
¿Como se comporta si el string ingresado son solo espacios en blanco? (el resultado deberia ser 0)
¿Que ocurre si hay espacio en blanco al inicio? ¿Al final? (no deberia haber diferencia respecto al mismo caso sin espacios al inicio o final)
etc.
No creo que haya mayor problema. En la línea de lo que propone
vangodp y completada para si el caracter final no es un espacio:
Código C++:
Ver original#include <stdio.h>
int main(){
char frase[100];
int i, cont = 0, lon;
puts("Ingrese una oracion:"); for(lon = 0; frase[lon] ; lon++);
for(i = 1; frase[i] ; i++)
if( (frase[i] == ' ' && frase[i-1] != ' '))
cont++;
if (frase[lon-1]!= ' ')
cont++;
printf("\nNumero de palabras: %d\n", cont
); return 0;
}
¡¡¡Saluditos!!!