@torn24 mi sembra una ottima implementazione.
Mi permetto di formattare meglio il codice e usare nomi di variabile più espliciti.
Ho sempliificato anche l'else if (credo senza effetti collaterali).
Ho tolto il <= nel for che non mi piaceva (immagina di riscriverlo in Java)
e ho messo il conteggio dell'ultima parola al fondo.
codice:int contaparole(char *str) { int i, parole = 0; char inizioparola = 0; for (i = 0; i < strlen(str); i++) { if (str[i] >= 'a' && str[i] <= 'z') // sono su una parola inizioparola = 1; else if (inizioparola) { // sono sul primo carattere dopo la parola parole++; inizioparola = 0; } } // conteggio l'ultima parola if (inizioparola) parole++; return parole; }

Rispondi quotando