c语言中如何求1!+2!+3!+……+N!的值
时间: 2023-11-17 20:08:04 浏览: 58
使用循环结构和递归两种方法来求解1!+2!+3!+……+N!的值。
方法一:循环结构
```c
#include <stdio.h>
int main()
{
int n, i, j, 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 += fac;
}
printf("1!+2!+3!+...+n!的值为:%d\n", sum);
return 0;
}
```
方法二:递归
```c
#include <stdio.h>
int factorial(int n)
{
if (n == 1)
{
return 1;
}
else
{
return n * factorial(n - 1);
}
}
int main()
{
int n, i, sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum += factorial(i);
}
printf("1!+2!+3!+...+n!的值为:%d\n", sum);
return 0;
}
```