C语言求1/1!+1/2!+....1/n!(while循环)
时间: 2024-04-27 12:16:56 浏览: 93
C语言可以使用while循环来求解1/1!+1/2!+....1/n!的和。首先,我们需要明确一下阶乘的概念。阶乘是指从1到某个正整数n的连乘积,用符号"!"表示。例如,5的阶乘表示为5!,其计算方式为5! = 5 * 4 * 3 * 2 * 1 = 120。
下面是使用while循环来求解1/1!+1/2!+....1/n!的和的C语言代码:
```c
#include <stdio.h>
int main() {
int n;
double sum = 0.0;
double factorial = 1.0;
int i = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
while (i <= n) {
factorial *= i; // 计算阶乘
sum += 1.0 / factorial; // 求和
i++;
}
printf("1/1! + 1/2! + ... + 1/%d! = %f\n", n, sum);
return 0;
}
```
在上述代码中,我们使用了一个循环来计算每个阶乘,并将其累加到总和中。最后,输出结果即可。
相关问题
C语言编程求S=1/1!+1/2!+1/3!+... +1/n!直到1/n!≤ 1e6
以下是C语言编程求S=1/1!+1/2!+1/3!+... +1/n!直到1/n!≤ 1e6的例子:
```c
#include <stdio.h>
int main() {
int n = 1;
double sum = 1, factorial = 1;
while (1/factorial > 1e-6) {
factorial *= ++n;
sum += 1/factorial;
}
printf("S = %f\n", sum);
return 0;
}
```
该程序使用了while循环,每次循环计算一个阶乘并将其加入到总和中,直到1/n!≤ 1e6为止。在每次循环中,n自增1,阶乘factorial乘以n,总和sum加上1/factorial。最后输出总和sum即可。
用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;
}
```
阅读全文