欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-08 17:02:19
...

浙大版《C语言程序设计(第3版)》题目集习题4-2 求幂级数展开的部分和 (20分)
求阶乘的函数定义千万不能定义为int,不然会一直出错,我就是这个地方卡了很久,自己也没发现…

#include <stdio.h>
#include <math.h>
double fact(int x) {                     //用递归函数求阶乘;函数定义为double型;
    if (x == 0 || x == 1) {
        return 1;
    }
    else {
        return x * fact(x - 1);         //函数返回值是阶乘的值,且为double型;
    }
}
int main()
{
    int i = 1;
    double x, item, sum = 1.0;
    scanf("%lf", &x);
    do {                                //知道什么时候结束循环,选择do-whlie循环;
        item = pow(x, i) / fact(i);
        sum += item;
        i++;
    } while (item >= 0.00001);
    printf("%.4lf\n", sum);
    return 0;
}