用c语言编写一个程序,求1/1!+1/2!+1/3!+......+(1+2+3+...n)的和,结果保留2位小数
时间: 2023-11-01 16:06:40 浏览: 73
【C语言】1+2+3+...+n的值
以下是使用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类型,以避免精度损失。运行结果保留两位小数。
阅读全文