【程序功能】求级数的前n项之和。 【编程要求】(1). 编写函数double fun(double x, int n),其功能是对于给定的x计算下列级数前n项的和,函数返回计算结果。 f(x)=x/(1*1)-x3/(1*2)+x5/(2*3)-x7/(3*5)…+(-1)i*x(2*i+1) /(fi*fi+1) 注:x后面的数字是指数。 其中:fi(i=0,1,2,3…,n)是Fibonacci数列中的第i项, Fibonacci数列是:1,1,2,3,5,8,13,21,34, … … 。 (2). 编写main函数,接收从键盘输入的x和n的值,调用函数fun计算级数前n项的和,并按下列形式输出结果。(n<20) 注:不允许使用pow()函数。 【测试数据与运行结果】 测试数据:n=10,x=0.5 运行结果:f(0.5,10)=0.442232
时间: 2024-03-09 18:47:37 浏览: 57
以下是符合要求的程序代码:
```c++
#include <iostream>
using namespace std;
int fibonacci(int n) {
if(n <= 0) return 1;
if(n == 1) return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
double fun(double x, int n) {
double sum = 0;
for(int i = 0; i <= n; i++) {
int fi = fibonacci(i);
double numerator = (i % 2 == 0 ? 1 : -1) * x * (2 * i + 1);
double denominator = fi * fi + (i % 2 == 0 ? 1 : -1);
sum += numerator / denominator;
}
return sum;
}
int main() {
double x;
int n;
cout << "请输入 x 和 n 的值:";
cin >> x >> n;
cout << "f(" << x << "," << n << ")=" << fun(x, n) << endl;
return 0;
}
```
程序中,`fibonacci(int n)` 函数用于计算 Fibonacci 数列中的第 $n$ 项,`fun(double x, int n)` 函数用于计算给定的级数前 $n$ 项的和,`main()` 函数用于接收输入数据并输出结果。
在 `fun()` 函数中,使用一个循环遍历每一项,并按照题目要求计算分子和分母,最后将每一项的结果相加得到总和。
程序输出的结果保留了小数点后 6 位,可根据需要修改。
阅读全文