#include<iostream.h>
#include<conio.h>
#include<cmath>
long f1(int n)
{long s;
if(n==0||n==1) s=1;
else s=n*f1(n-1);
return s;
}
double f2(double x,int n)
{double s=1.0;
double z=fabs(n);
for(int i=0;i<z;i++)
s=s*x;
return s;
}
double ex(double x)
{double sum=0,s=0;
int i=1;
s=f2(x,i)/f1(i);
double y=fabs(s);
while(y>1e-20)
{sum+=s;
i++;
s=f2(x,i)/f1(i);
}
return sum;
}
void main()
{
double x;
cout<<"输入x,计算e的x次方:";
cin>>x;
double t=exp(x);
cout<<"e的"<<x<<"次方="<<ex(x)+1<<endl;
cout<<t<<endl;
getch();
}