编写函数计算N!,调用该函数计算下式的值:S=1+1/(1+4!)+1/(1+4!+7!)+......+1/(1+4!+7!+......+19!)
时间: 2023-11-25 21:06:07 浏览: 131
编程实现计算:1!+2!+3!+……+N!的值,要求定义并调用函数计算N!。
5星 · 资源好评率100%
以下是计算N!和S的函数实现及调用过程:
```c
#include <stdio.h>
// 计算n的阶乘
double factorial(int n) {
double res = 1.0;
for (int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
// 计算S的值
double calculateS() {
double s = 0.0;
double denominator = 1.0;
for (int i = 0; i <= 4; i++) {
denominator += factorial(3 * i);
s += 1.0 / denominator;
}
return s;
}
int main() {
double s = calculateS();
printf("S is %f\n", s);
return 0;
}
```
其中,factorial函数用于计算n的阶乘,calculateS函数用于计算S的值。在calculateS函数中,denominator表示分母,初始值为1,每次循环都加上3i的阶乘,s表示S的值,初始值为0,每次循环都加上1/denominator的值。最后,调用calculateS函数计算S的值,并输出结果。
阅读全文