c语言 编写一个程序求ex泰勒展开式前20项的和

作者&投稿:宾唯 (若有异议请与网页底部的电邮联系)
C语言编程 用泰勒展开式计算e^x的值~

#include
#include
int main()
{
double add(double x, double n);
double x, n,sum;
scanf("%lf %lf", &x, &n);
if(n<0||x<0)
{
printf("error");
return 0;
}
else
{
sum = add(x, n);
printf("%.6lf", sum);
}
return 0;
}
double add(double x,double n)
{
double b = 1, c = 1;
double sum = 1;
for (b = 1; b <=n; b++)
{
sum = sum +( pow(x, b))/c;
b = b + 1;
c = c*b;
}

return sum;
}
你这样做,那个输出错误的结果判断要在计算之前,并且出错后要退出,而且你的异常条件要写成:if(n<0||x<0),因为0是允许的。然后计算和的函数我减去了一个变量,有循环变量就可以替代n了

我的运行结果,但我不知道运算的对不对,程序反正没有错误了,也可以运行的

#include
#include

double fac(int n)
{
int i;
double s=1;
if(n==0)
return 1.0;
for(i=1;i<=n;i++)
{
s*=i;
}
return s;
}

double ex(int x) //1:e的x次方
{
int i;
double s=1.0;
for(i=1;i<=x;i++)
{
s+=pow((double)x,i)/fac(i);
}
return s;
}

int main()
{
printf("e=%lf
",pow(ex(100.0),1.0/100.0)); //2: e
return 0;
}

#include <stdio.h>

int main() 

{double x,t=1,e=1;

 int i;

 scanf("%lf",&x);

 for(i=1;i<20;i++)

{t*=x/i;

 e+=t;

}

printf("%.10lf
",e);

return 0;

}