求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。c语言
时间: 2023-11-15 16:02:18 浏览: 89
C语言课程设计
可以使用循环和递归两种方法来求解Sn=1!+2!+3!+4!+5!+…+n!之值。
1. 循环方法:
```
#include <stdio.h>
int main()
{
int n, i, j, factorial, sum = 0;
printf("请输入一个数字n:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
factorial = 1;
for (j = 1; j <= i; j++)
{
factorial *= j;
}
sum += factorial;
}
printf("Sn=%d", sum);
return 0;
}
```
2. 递归方法:
```
#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("Sn=%d", sum);
return 0;
}
```
阅读全文