Buon giorno a tutti , ho fatto questo programma per calcolare la lunghezza di una frase e funziona solo che da qualche problema ...
vi posto il codice :
codice:
#include<stdio.h>
#include<conio.h>
int main(void)
{
char a[50];
int i,j,cont=0,cont2=0;
printf("inserisci la frase\n");
gets(a);
for(i=0;a[i]!='\0';i++)
{
if((a[i]>='a')&&(a[i]<='z')||(a[i]==' '))
cont++;
if(a[i]==' '){
printf("%d\n",cont-1);
cont=0;
}
}
while(a[i]!=' '){
i--;
if((a[i]>='a')&&(a[i]<='z')||(a[i]==' '))
cont2++;
}
if(a[i]==' ')
printf("%d",cont2-1);
printf("\n\nPremere un pulsante per chiudere il programma");
getch();
}
allora il problema è il seguente .. quando vado a eseguire il programma per la prima volta e inserisco qualsiasi frase o anche una parole mi dice alla fine il risultato esatto di quantè lunga quella frase o parola ... però certe volte mi succede che quando vado a inserire una parola sola magari "Ciao" mi dice che è lunga 5 lettere invece di 4 e lo stesso avviene quando nn inseirsco nessuna parola mi stampa o 0 o 1 o un numero a caso e volevo chiedervi come faccio a sistemarlo?