用c语言编写一个程序,求1/1!+1/2!+1/3!+......+1/n!的和,结果保留2位小数
时间: 2023-06-12 14:07:44 浏览: 143
以下是使用C语言编写的程序,实现求1/1!+1/2!+1/3!+......+1/n!的和,并保留2位小数的结果:
```c
#include <stdio.h>
int main() {
int n, i, j;
double sum = 0, fac = 1;
printf("Enter a positive integer n: ");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
fac = 1;
for (j = 1; j <= i; j++) {
fac *= j;
}
sum += 1.0 / fac;
}
printf("The result is: %.2f\n", sum);
return 0;
}
```
程序中,首先要输入一个正整数n,表示要求和的项数。然后使用两个循环,分别计算每一项的阶乘和总和。最后输出保留两位小数的结果。
相关问题
用c语言编写一个程序,求1/1!+1/2!+1/3!+......+(1+2+3+...n)的和,结果保留2位小数
以下是使用C语言编写的程序,可以计算出1/1!+1/2!+1/3!+......+(1+2+3+...n)的和,并将结果保留两位小数:
```c
#include <stdio.h>
int main()
{
int n, i, j;
double sum = 0, fac = 1;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fac = 1;
for (j = 1; j <= i; j++)
{
fac *= j;
}
sum += 1 / fac;
}
sum += (n * (n + 1)) / 2.0;
printf("结果为:%.2f", sum);
return 0;
}
```
程序运行时会要求输入n的值,然后使用两个循环分别计算阶乘和累加和,最后将两者相加并输出结果。注意,在计算累加和时,需要将n*(n+1)/2强制转换为double类型,以避免精度损失。运行结果保留两位小数。
C语言编写一个计算s=1+1/(1+4!)+1/(1+4!+7!)+...+1/(1+4!+7!+...+19!)的程序
以下是C语言编写的计算s的程序:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, k;
double s = 0, fac = 1;
for (i = 0; i < 5; i++) {
k = 1;
for (j = 0; j <= i; j++) {
k *= 3 * j + 1;
}
fac *= k;
s += 1.0 / fac; }
printf("s = %lf\n", s + 1);
return 0;
}
```
阅读全文