PTA|《C语言程序设计(第3版)》习题4-2 求幂级数展开的部分和 (20分)

题目

已知函数 e ​ x e​^x ex可以展开为幂级数 1 + x + x ​ 2 ​ ​ / 2 ! + x 3 ​ ​ / 3 ! + ⋯ + x k / k ! + ⋯ 1+x+x ​^2 ​​ /2!+x ^3 ​​ /3!+⋯+x^k/k!+⋯ 1+x+x2/2!+x3/3!++xk/k!+。现给定一个实数x,要求利用此幂级数部分和求 e x e ^ x ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。

输入格式:
输入在一行中给出一个实数x∈[0,5]。

输出格式:
在一行中输出满足条件的幂级数部分和,保留小数点后四位。

输入样例:

1.2

输出样例:

3.3201

参考解答

#include
#include
double fac(double k){
    double i=1,ret=1;
    for(i=1;i<=k;i++){
        ret*=i;
    }
    return ret;
}
int main(){
    double x,sum=0,a=0,k=0;
    scanf("%lf",&x);
    do{
        a=pow(x,k)/fac(k);
        k++;
        sum+=a;
    }while(a>=0.00001);
    printf("%.4f",sum);
    return 0;
}

你可能感兴趣的:(PTA)