Guarda noi l'abbiamo fatta da poco spero di esserti utile... una funzione ricorsiva è una funzione che richiama se stessa, ogni volta "semplificando" l'argomento della funzione richiamata in modo da tornare, in un numero finito di passaggi, ad un caso base (esempio famosissimo è il fattoriale).
Per il problema io ti consiglio, dopo aver dichiarato il vettore, di leggere in input ogni valore e associarlo ad un indice del vettore, e trovare alla fine il -1 in che posizione è nel vettore.
Ti troverai (con un opportuno if) che v[k+1] = -1 ; a questo punto innesti un ciclo decrescente dove v[k] = v[k] + v[k-1] + ... + v[0] e similmente per gli altri. Partendo dalla fine eviti praticamente tutti i problemi che si possono creare dal fatto che i valori si modificano.
Infine stampi gli elementi fino a v[k], per lo spazio basta lasciare uno spazio dentro le virgolette. Per andare a capo ogni 10 invece (che fa sempre figo) metti dentro il ciclo che farai per stampare ' if (i%10 == 0) printf("\n") ' [dove i è il contatore del ciclo] che rende tutto più carino.