Gia',non avevo tenuto conto del fatto che vengono fatti a-1 paragoni tra gli elementi del vettore.
Ovviamente vet[b-1] non esiste e allora quando fa il paragone tra vet[b-1] e qualsiasi condizione,questa viene data per vera (infatti se faccio cosi' alla prima iterazione mi stampa k e i entrambe uguali a 1).Era banale,ho risolto ponendo cambiando l' ultima parte del ciclo,che diventa:
codice:
printf("Positivi: %d nulli: %d negativi: %d pari: %d dispari %d ",positivi, nulli,    negativi,pari,dispari); 
  for(b=0;b<(a-1);++b){
    if(vet[b]<vet[b+1])
      ++k;}
  for(b=0;b<a;++b){
    if(vet[b]>vet[b+1])
      ++i;
	}
  if((a-1)==k)
    printf("La sequenza e' crescente");
  else if((a-1)==i)
    printf("La sequenza e' decrescente");
  else
    printf("La sequenza e' in ordine sparso");
  return 0;
}
E stavolta mi viene giusta.
Grazie per i suggerimenti,ho risolto.
EDIT:
Originariamente inviato da simo_85
Invece di k & i puoi anche usare una sola variabile in questa maniera
codice:
   ...

   b = i = 0;
	
   while(b < (a - 1))
   {
      if(vet[b] < vet[b + 1])
         i++;
	
         b++;
   }
	
   if(i == 0)
      printf("La sequenza e' decrescente\n");
   else if(i == (a - 1))
      printf("La sequenza e' crescente\n");
   else if(i != (a-1) && i != 0)
      printf("La sequenza e' in ordine sparso\n");

   return 0;
}
Come idea mi piace,pero' il problema e' che la condizione che vet[b]<vet[b+1] non implica che vet[b]>vet[b+1],perche' non consideri il caso che vet[b]=vet[b+1].
Se lo scrivo cosi' e per esempio inserisco a=3,poi digito 2,2,2 mi stampa che il vettore e' decrescente.Comunque ho risolto,grazie per le idee.