本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0 n (a[i]×x i ) 在x点的值。 函数接口定义: double f( int n, double a[], double x ); 其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。 裁判测试程序样例: #include <stdio.h> #define MAXN 10 double f( int n, double a[], double x ); int main() { int n, i; double a[MAXN], x; scanf("%d %lf", &n, &x); for ( i=0; i<=n; i++ ) scanf("%lf", &a[i]); printf("%.1f\n", f(n, a, x)); return 0; } /* 你的代码将被嵌在这里 */
时间: 2024-01-20 12:02:52 浏览: 52
勒让德多项式
以下是一个实现多项式求值的函数f:
```c
double f(int n, double a[], double x) {
double sum = 0.0;
for (int i = 0; i <= n; i++) {
sum += a[i] * pow(x, i);
}
return sum;
}
```
该函数使用循环遍历多项式的每一项,使用pow函数计算x的i次方,然后乘以对应项的系数a[i],将所有项的结果相加,最终返回总和。
阅读全文