c语言编写函数 求1!+2!+3!+…+k!的和
时间: 2023-07-08 15:27:11 浏览: 135
好的,以下是 C 语言的代码实现:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n-1);
}
}
int factorial_sum(int k) {
int result = 0;
int i, f;
for (i = 1; i <= k; i++) {
f = factorial(i);
result += f;
}
return result;
}
int main() {
int k = 5;
int sum = factorial_sum(k);
printf("1!+2!+3!+...+%d! = %d\n", k, sum);
return 0;
}
```
这个程序中有两个函数。`factorial(n)` 计算阶乘,`factorial_sum(k)` 计算 1!+2!+3!+…+k! 的和。在 `factorial_sum(k)` 中,我们使用了一个循环来计算每个阶乘并将其加入 `result` 中。`factorial(n)` 函数是一个递归函数,用于计算阶乘。
在 `main()` 函数中,我们定义了一个变量 `k`,然后调用 `factorial_sum(k)` 函数来计算 1!+2!+3!+…+k! 的和,并将结果打印出来。
阅读全文