$20
Introduction to Computer Programming II
Assignment 3
1. (100 pts) Write a program that implements the following functions iteratively (no recursion).
double factorial(int n)
double exponent(double x, int n)
The functions implemented should follow below guidelines
• factorial: Computes n! = n × (n − 1) × . . . × 1
• exponent: Computes the sum of first n terms of e
x using the following approximation.
f(x, n) = e
x =
∑n
i=0
x
i
i!
=
x
0
0! +
x
1
1! +
x
2
2! + . . . +
x
n
n!
You can use pow() and f actorial() functions in your exponent function.
In main() use argc and argv read the value of n and x from the user and compute and print
the approximation of e
x
for all values up to n using the function exponent. Print the results
as a table as shown below. Also, print the exact value of e
x using the math library function
exp(). When you increase the value of i your result should get closer to the result of exp.
Name your program assign3.c Sample execution of the program is given below. First parameter is n and second parameter is x. You need to use functions atoi() and atof() in stdlib.h
to convert strings to integer and double respectively.
fox01 assign3 10 2.2
i Approximation
--------------------------------
0 1.0000000000
1 3.2000000000
2 5.6200000000
3 7.3946666667
4 8.3707333333
5 8.8002026667
6 8.9576747556
7 9.0071659835
8 9.0207760712
9 9.0241029815
10 9.0248349018
Exact Value = 9.0250134994