C语言 用函数编写程序,求E=1+1/1!+1/2!+……+1/n!,要求最后一项的值小于10。
时间: 2023-07-16 14:13:21 浏览: 175
C语言程序设计-功能:编写程序求无理数e的值并输出;计算公式为:e=1+11!+12!+13!+......+1n!当1n!
5星 · 资源好评率100%
可以用以下的代码实现:
```c
#include <stdio.h>
double factorial(int n) {
double result = 1.0;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
double e(int n) {
double sum = 0.0;
for (int i = 0; i <= n; ++i) {
double term = 1.0 / factorial(i);
if (term < 10.0) {
sum += term;
} else {
break;
}
}
return sum;
}
int main() {
int n = 0;
while (e(n) < 10.0) {
++n;
}
printf("n = %d\n", n);
printf("e = %f\n", e(n));
return 0;
}
```
首先定义了一个计算阶乘的函数 `factorial`,接着定义了一个计算 `E` 的函数 `e`,其中会遍历到某一项的值小于10为止。最后在 `main` 函数中通过不断增加 `n` 的值来找到满足条件的最小 `n` 值,然后输出结果。
阅读全文