用c语言编写编写函数计算N!调动函数计算下式的值:S=1+1/(1+4!)+1/(1+4!+7!)+…+1/(1+4!+7!+…+19!)
时间: 2023-09-11 13:09:04 浏览: 109
C语言编程-编写函数fun求1!+2!+3!+ …… +n!的和,在main函数中由键盘输入n值,并输出运算结果;
5星 · 资源好评率100%
以下是用C语言编写计算N!的函数和计算S的程序:
```c
#include <stdio.h>
// 计算阶乘的函数
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
double S = 1.0;
int denominator = 1;
for (int i = 1; i <= 5; i++) {
denominator *= factorial(3 * i - 2);
S += 1.0 / denominator;
}
printf("S = %lf\n", S);
return 0;
}
```
程序中,计算N!的函数 `factorial` 采用了简单的循环实现。计算S的主程序中,使用了一个变量 `denominator` 来记录分母的值,每次循环都乘上当前分母的值,这样就不需要重新计算分母的阶乘了。循环执行 5 次,计算出 S 的值,并输出到控制台。
阅读全文