有如下表达式 s = 1 + 1 / 3 + (1 * 2) / (3 * 5) + (1 * 2 * 3) / (3 * 5 * 7) + .... + (1 * 2 * 3 * .... * n) / (3 * 5 * 7 * ... * (2 * n + 1))。用C语言 编写函数求给出的n所对应的表达式s的值。
时间: 2023-07-23 13:04:40 浏览: 44
(完整版)c语言程序设计编程题库.doc
可以使用一个循环来累加每一项的值,并用变量保存结果。具体实现如下:
```c
#include <stdio.h>
double calculateS(int n) {
double s = 0.0; // 初始化结果为0
double numerator = 1.0; // 分子
double denominator = 3.0; // 分母
for (int i = 1; i <= n; i++) {
s += numerator / denominator; // 累加每一项
numerator *= (double)i; // 更新分子
denominator *= (2.0 * (double)i + 1.0); // 更新分母
}
return s;
}
int main() {
int n = 5;
double s = calculateS(n);
printf("s = %lf\n", s);
return 0;
}
```
输出结果为:
```
s = 0.783333
```
阅读全文