7-58 求冪級數展開的部分和 (20分)
已知函數ex可以展開為冪級數1+x+x2/2!+x3/3!+⋯+xk/k!+⋯。現給定一個實數x,要求利用此冪級數部分和求ex的近似值,求和一直繼續到最后一項的絕對值小於0.00001。
輸入格式:
輸入在一行中給出一個實數x∈[0,5]。
輸出格式:
在一行中輸出滿足條件的冪級數部分和,保留小數點后四位。
輸入樣例:
1.2
輸出樣例:
3.3201
因為最后一項需要加上 所以用后判斷循環比較合適
#include<stdio.h>
#include<math.h>
int main()
{
double x;
scanf("%lf",&x);
double sum=1;
int count=1;
double p=1;
int fac=1;
do
{
p=p*x/count;
sum+=p;
count++;
}while(fabs(p)>1e-5);
printf("%.4f\n",sum);
return 0;
}