C语言 求1 + 1/2! +....+ 1/n! 输入正整数n,计算上式前n 项的和(保留 4 位小数
时间: 2023-05-28 15:01:42 浏览: 116
)注:n<=20
#include <stdio.h>
int main()
{
int n, i, j;
double sum = 0, factor = 1;
// 输入n
scanf("%d", &n);
// 计算前n项的和
for (i = 1; i <= n; i++) {
// 计算i的阶乘
for (j = 1; j <= i; j++) {
factor *= j;
}
// 累加前i项的和
sum += 1.0 / factor;
// 重置factor为1
factor = 1;
}
// 输出结果,保留4位小数
printf("%.4f", sum);
return 0;
}
相关问题
C语言【求S+=+1+++1+/+2!+++1+/+3!+++1+/+4!+++…+++1+/+n!】
以下是C语言求S的代码,其中使用了循环和嵌套循环来计算阶乘和:
```c
#include <stdio.h>
int main() {
int n, i, j, factorial = 1;
double S = 0.0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
factorial = 1;
for (j = 1; j <= i; j++) {
factorial *= j;
}
S += 1.0 / factorial;
}
printf("S的值为:%lf", S);
return 0;
}
```
C语言 求1 + 1/2! +....+ 1/n! 输入正整数n,计算上式前n 项的和(保留 4 位小数
)#include <stdio.h>
// 定义函数factorial,用来计算阶乘
double factorial(int n) {
double result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
double sum = 1; // 前1项的和为 1
scanf("%d", &n);
for (int i = 2; i <= n; i++) {
sum += 1 / factorial(i);
}
printf("%.4f", sum); // 保留4位小数
return 0;
}
阅读全文