Evidentemente non sono ancora riuscito a farti capire cosa succede:

codice:
if ((c=getchar())=='a'){
    printf("La tua selezione e' stata a\n");                    
    printf("inserisci il prezzo di vendita non comprensivo di spese di spedizione; \nEuro:");
    getline(vettore);
    k=atof(vettore);
        if (k <= 50){
            a=k/100;
            b=a*5.25;
            s=(k-b-2.5-1-5+4);
            printf("La tua parte inclusiva di spese di spedizione e': %d\n", s);    
                    }
                     }     
system("pause");

}
int getline (char vettore[]){
int c,i=0;                 
                             while((c=getchar())!= '\n')
                                                   vettore [i++]=c; 
                             if (c=='\n')
                                          vettore[i++]=c;
Nella prima getchar() all'inizio tu premi 'a' e poi <invio>. La 'a' ti viene ritornata ma <invio> rimane nel buffer.
Poi entri nella tua getline(). C'è un ciclo while in cui prima di tutto, esegue una getchar() e quel <invio> rimasto nel buffer ti viene restituito. E si esce subito dal ciclo perché il carattere letto è '\n'.
Nel if successivo la condizione è true perché c contiene appunto '\n' e quindi in vettore[i] scrivi un '\n'.

Questo è quello che succede. Non è quello che volevi??? Allora cambia la gestione dell'input. Punto.