Credo che ti servono dei vettori.
In uno ci tieni i termini, in un altro le potenze.
Calcoli il derivata come termini
* (potenze - 1).
Esempio
ax^3 + bx^2 + cx + d
int termini [] = {a,b,c,d};
int potenze [] = {3,2,1};
Derivata[i] = (potenze[i] - 1) - termini[i];