the program goes like this:

it should calculate the value of e^x by the series

1+x+x^2/2!+x^3/3!...+x^n/n!

when the user inputs a value , eps , which the program has to stop compute e^x when x^n/n<eps.

I wrote 2 function , one calculating the factorial result (fact), and one calculates the value x^n/n! (monom).

these functions works well, but the program keeps giving me 1 as result for e^x (or it gets stuck..)

it seems that the problem comes from the condition monom (x,j)<eps, but I can't see why...

can you guys help me? thanks a lot!Code:#include <stdio.h> #include <math.h> float fact (int); double monom (float x, int n); int main (void) { float x; printf ("please enter x value for e^x: "); scanf ("%f", &x); double exp=1; float eps; printf ("please enter delta: "); scanf ("%f", &eps); int j; for (j=1; monom (x,j)<eps; j++) exp+=monom (x,j); printf ("%f",exp); return 0; } float fact (int a) { float result=1; int i; for (i=1;i<=a;i++) result*=i; return result; } double monom (float x, int n) { return (pow(x,n)/fact(n)); }