C语言编程:ex=1+x⼀1!+x2⼀2!+x3⼀3!+……+xn⼀n!+……

2024-10-29 16:15:35
推荐回答(1个)
回答1:

#include
#include

// 计算 n 的阶乘
int jc (int n)
{
if (n < 0) return -1;
else if (n == 0) return 1;
else return n * jc (n - 1);
}

// 计算 ex 的值
double ex (double x)
{
int i = 0;
double sum = 0;
// pow(x,i)是x的i次方, elem是要计算的多项式的通项式
double elem = pow (x, i) / (double) (jc (i));
// 当elem的值小于 0.000001 时结束循环
while (elem > 1e-6)
{
sum = sum + elem;
i++;
elem = pow (x, i) / (double)(jc (i));
}
return sum;
}

int main()
{
double x;
printf("请输入x的值: ");
scanf("%lf", &x);
printf("ex = %lf\n", ex(x));
return 0;
}

以上代码已经通过测试,结果正确,并有一定量的注释,便于理解