Il problema principale è che la variabile
st deve essere inizializzata a zero.
Inoltre, non ha senso dichiarare
i,
n e
st, come
float puoi usare tranquillamente
int. Dopotutto se ci pensi
i è un iteratore (e che nella fattispecie assume solo valori interi),
n è un numero naturale, e
st a la somma dei primi
n numeri naturali quindi a sua volta un numero naturale.
Pertanto puoi sostituire l'istruzione:
float i, n, st;
con:
int i, n, st;
Ricordandoti di aggiungere anche
st=0; prima del
while.