Considerando l'ipotesi 2 , le parole sono formate da lettere minuscole TUTTI gli altri caratteri
sono separatori ",;!: ABCDE"

codice:

int contaparole(char *str)
{
    int i,c=0;
    char parola=0;//variabile vero falso
    for(i=0;i<=strlen(str);i++)
     {
         if(str[i]>='a'&& str[i]<='z')//sono su una parola
             parola=1;
         else if(str[i]<'a'|| str[i]>'z')//sono fuori dalla parola
         {
              if(parola==1)//sono sul primo carattere dopo la parola
              {
                   c++;
                   parola=0;
                 
               }
             
           }
         
         }
    
    
    return c;
    
    }