输入一个实数x,计算多项式x+(x^2)/2!+(x^3)/3!+...的和,直到末项的绝对值小于0.00001(保留三位小数)用C语言代码
时间: 2024-11-15 18:25:13 浏览: 29
在C语言中,我们可以编写一个函数来计算这个无穷级数的近似值,直到满足给定的精度条件。由于实际计算时需要设定一个终止条件,可以设置一个较大的指数作为上限,例如100。以下是示例代码:
```c
#include <stdio.h>
#include <math.h>
// 计算阶乘
double factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
// 无穷级数求和函数
double infinite_sum(double x) {
double term = x, sum = x; // 初始值为x
int i = 2;
while (fabs(term / factorial(i)) > 0.00001) { // 终止条件
term /= i; // 更新当前项
sum += term; // 加入和中
i++;
}
return round(sum * 1000) / 1000.0; // 四舍五入到三位小数并返回结果
}
int main() {
double input;
printf("请输入一个实数x: ");
scanf("%lf", &input);
double result = infinite_sum(input);
printf("多项式的和大约为: %.3f\n", result);
阅读全文