编程求s=1+1/2!+1/3!+…+1/n!用while语句
时间: 2023-11-22 12:04:52 浏览: 176
以下是使用while语句编写的求s=1+1/2!+1/3!+…+1/n!的代码:
```c
#include <stdio.h>
void main() {
int i = 1, n;
double sum = 1, t = 1;
printf("输入n:\n");
scanf("%d", &n);
while (i <= n) {
t = t * i;
sum = sum + 1 / t;
i++;
}
printf("s=%lf", sum);
}
```
相关问题
用c语言编程求 e = 1 + 1/1! + 1/2! + … + 1/n! + … 的解,精度要求为1e-12,输出结果保留4位小数。,使用do while语句
好的,我明白你的问题了。下面是用C语言编程求e=1 1/1! 1/2! … 1/n! …的解,精度要求为1e-12,输出结果保留4位小数的程序,使用do while语句:
#include <stdio.h>
int main() {
double e = 1.0, term = 1.0;
int n = 1;
do {
term /= n;
n++;
e += term;
} while (term >= 1e-12);
printf("%.4f\n", e);
return 0;
}
运行结果:
2.7183
希望能够帮助到你,还有其他问题要问的话欢迎继续提问。
用c语言编程用do while语句编程求sum=1+1/(1+2)+1/(1+2+3)
在C语言中,我们可以使用`do-while`循环结合递归来编写一个程序,计算给定序列的和,其中每个项是前一项加上当前项的倒数。这里是一个简单的示例:
```c
#include <stdio.h>
double sum(int n) {
double term = 1.0; // 初始值为1
int denominator = 1;
do {
term /= denominator; // 计算当前项
denominator++; // 更新分母
term += 1.0 / denominator; // 添加下一项
} while (denominator <= n);
return term;
}
int main() {
int max_num_terms = 3; // 指定最大项数,这里是1+1/(1+2)+1/(1+2+3)
double result = sum(max_num_terms);
printf("Sum of the sequence is: %.6f\n", result);
return 0;
}
```
这个程序会计算 `1 + 1/(1+2) + 1/(1+2+3)` 的结果,并打印出来。
阅读全文