C语言编程(编写fun函数):函数fun是根据输入n,求下面数列前n项的和 s=1/2-1/2*3/4+1/2*3/4*5/6-1/2*3/4*5/6*7/8…,输入10,结果:0.206936。
时间: 2024-01-01 14:04:01 浏览: 68
C语言程序设计-编写函数fun,求任一整数m的n次方;.c
5星 · 资源好评率100%
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
double fun(int n) {
double s = 0.5; // 初始化为第一项 1/2
double product = 1.0; // 记录乘积,初始为 1
for (int i = 2; i <= n; i++) {
product *= (2 * i - 2) / (2.0 * i - 1) * (2 * i) / (2.0 * i + 1); // 计算当前项的乘积
s -= product; // 当前项为负数,累减
}
return s;
}
int main() {
int n = 10;
printf("%f", fun(n));
return 0;
}
```
程序的思路是按照数列的定义,从第二项开始逐项计算,累加求和。需要注意的是,每一项都是由上一项乘以两个分数得到的,因此需要记录上一项的乘积。每一项都是负数,因此累减即可。
阅读全文