This is my homework:

I haven't tried to write the part of Natural Logarithm because I can't solve the part of Exponential.
This is the the approximations of Exponential in C using Taylor Series expansion I wrote.
However, it returns inf. What did I do wrong?
#include <stdio.h> 
// Returns approximate value of e^x  
// using sum of first n terms of Taylor Series 
float exponential(int n, float x) 
{ 
    float sum = 1.0f; // initialize sum of series  
    for (int a = n; a >= 0; ++a ) {
        while (x * sum / a < 0.00001) {
            break;
        } 
        sum = 1 + x * sum / a; 
        return sum; 
    }
} 
int main() 
{ 
    int n = 0;
    float x = 1.0f; 
    printf("e^x = %.5f", exponential(n, x)); 
    return 0; 
}