求E:E=2.718..利用while循环求前n+1项之和。 (e=1+1/1!+1/2!+1/3!+...+1/n!),用c语言
时间: 2023-11-23 12:08:24 浏览: 78
c++求1+1/2+1/3+...+1/n
5星 · 资源好评率100%
以下是使用C语言利用while循环求前n+1项之和的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double a, sum = 0;
int i = 0;
scanf("%lf", &a);
while (1 / tgamma(i + 1) > a)
{
sum += 1 / tgamma(i + 1);
i++;
}
printf("%.10f", sum + 1);
return 0;
}
```
解释:
1. 首先,我们需要引入头文件`<stdio.h>`和`<math.h>`,分别用于输入输出和数学计算。
2. 然后,我们定义一个双精度浮点型变量`a`和一个整型变量`i`,并将`sum`初始化为0。
3. 接着,我们使用`scanf`函数读入一个精度值`a`。
4. 在while循环中,我们使用`tgamma`函数计算阶乘的倒数,并判断是否小于精度值`a`。如果小于,则跳出循环。
5. 在循环中,我们将每一项的倒数加到`sum`中,并将`i`加1。
6. 最后,我们输出`sum+1`的值,即为前n+1项之和。
阅读全文