用c或c++实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0 n (a[i]×x i ) 在x点的值。以及调用函数
时间: 2024-03-14 15:44:52 浏览: 52
基于C++的多项式方程计算,可实现加法、减法、乘法、代值、求导等
下面是用C++实现的多项式计算函数:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
double calc_poly(int n, double* a, double x) {
double result = 0;
for (int i = 0; i <= n; i++) {
result += a[i] * pow(x, i);
}
return result;
}
int main() {
int n = 3; // 多项式阶数
double a[] = {1, 2, 3, 4}; // 多项式系数
double x = 2; // 计算多项式在x=2的值
double result = calc_poly(n, a, x);
cout << "f(" << x << ") = " << result << endl;
return 0;
}
```
这个函数接受三个参数,分别是多项式的阶数 `n`,系数数组 `a` 和要计算多项式值的点 `x`。函数通过循环遍历系数数组,计算每一项的值再累加起来得到多项式在 `x` 点的值。
可以通过调用 `calc_poly` 函数来计算任意多项式在任意点的值,例如上面的 `main` 函数计算了一个阶数为3,系数为 {1, 2, 3, 4} 的多项式在 `x=2` 的值,输出结果为:
```
f(2) = 49
```
希望这个函数对你有所帮助!
阅读全文