用do-while循环按公式e=1+1/1!+1/2!+1/3!+…+1/n!计算 e 的值(精度为 1e-6) 输入i
时间: 2023-09-10 16:15:34 浏览: 89
do while??????? ?? ??? ??.rar_C++_Meaning
好的,这里是用 do-while 循环来计算 e 的值的代码,其中用 scanf 语句输入 i,i 表示计算 e 的项数:
```c
#include <stdio.h>
int main() {
int i, n = 0;
double e = 1, term = 1;
printf("请输入计算 e 的项数:");
scanf("%d", &i);
do {
n++;
term /= n; // 计算当前项的值
e += term; // 加上当前项的值
} while (n < i || term >= 1e-6); // 当前项小于 1e-6 或计算到第 i 项时退出循环
printf("e = %lf\n", e);
return 0;
}
```
在这个程序中,我们除了添加了一个 scanf 语句来输入计算 e 的项数 i,其他部分和之前的代码是一样的。不同的是,在循环条件中,我们加入了一个 n < i 的判断,这是为了在计算到第 i 项之前就已经满足精度要求时,退出循环。如果不加这个判断,程序会一直计算下去,直到计算到第 i 项才退出循环,这是不必要的。
阅读全文