习题4-2 求幂级数展开的部分和 (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()
{
    int i=1;
    long double k=1;
    double x,sum=1;
    scanf("%lf",&x);
    do{
        k*=i;                       //累乘
        sum+=pow(x,i)*1.0/k;       //累加
        i++;
    }while(pow(x,i)*1.0/k>0.00001);   //跳出循环的条件
    printf("%.4f",sum);
    
    return 0;
}

 总结:

1、pow(x,y):计算x的y次方的值;

2、k*=i:就是计算阶乘。


版权声明:本文为m0_50925590原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。