用c语言编程一个程序来计算S=1!+2!+3!+...+n!。要求分别用递归函数计算并输出n!和S
时间: 2023-11-25 20:08:44 浏览: 115
计算 S=1!+2!+3!+...+N!。
可以使用递归函数来计算n!,然后在主函数中使用循环来计算S。下面是一个示例程序:
```c
#include <stdio.h>
// 递归函数计算n!
int factorial(int n) {
if (n == 0) {
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++) {
int f = factorial(i);
printf("%d! = %d\n", i, f);
sum += f;
}
printf("S = %d\n", sum);
return 0;
}
```
在上面的程序中,factorial函数使用递归来计算n!,如果n为0,则返回1,否则返回n乘以factorial(n-1)的结果。在主函数中,使用循环来计算1!到n!的值,并将它们加起来得到S的值,最后输出S的结果。
阅读全文