编程实现计算1+1/2!+1/3!+......+1/n!的值。要求n由用户从键盘输入。
时间: 2023-11-12 20:09:32 浏览: 76
可以使用循环和递归两种方式来实现计算1+1/2!+1/3!+......+1/n!的值。
循环方式实现:
```
#include <stdio.h>
int main() {
int n, i;
double sum = 1, factorial = 1;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
factorial *= i;
sum += 1.0 / factorial;
}
printf("1+1/2!+1/3!+...+1/%d!的值为:%lf\n", n, sum);
return 0;
}
```
递归方式实现:
```
#include <stdio.h>
double factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n, i;
double sum = 1;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
sum += 1.0 / factorial(i);
}
printf("1+1/2!+1/3!+...+1/%d!的值为:%lf\n", n, sum);
return 0;
}
```
阅读全文