求E:E=2.718..利用while循环求前n+1项之和。 (e=1+1/1!+1/2!+1/3!+...+1/n!),用c语言
时间: 2023-11-23 07:08:24 浏览: 98
以下是使用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项之和。
相关问题
用C语言求E:E=2.718...利用while循环求前n+1项之和。(e=1+1/1!+1/2!+1/3!+...+1/n!)
以下是用C语言求E的代码,利用while循环求前n+1项之和:
```c
#include <stdio.h>
int main()
{
int n = 0;
double e = 1.0, item = 1.0, factorial = 1.0;
while (item >= 0.00001)
{
e += item;
n++;
factorial *= n;
item = 1.0 / factorial;
}
printf("e = %.3f\n", e);
return 0;
}
```
阅读全文