用C语言实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0 n (a[i]×x i) 在x点的值。
时间: 2024-10-17 15:08:21 浏览: 13
在C语言中,你可以使用循环结构来计算给定系数数组`a`和变量`x`下多项式的值。这里是一个简单的函数示例,它接受一个整型数组`a`、数组长度`n`以及`x`作为参数:
```c
#include <stdio.h>
double polynomial_value(int *a, int n, double x) {
double result = 0; // 初始化结果为0
for (int i = 0; i <= n; i++) { // 循环从0到n
result += a[i] * pow(x, i); // 累加每个项a[i]*x^i
}
return result; // 返回多项式的值
}
int main() {
int coefficients[] = {1, 2, 3, 4}; // 示例多项式的系数数组
int n = sizeof(coefficients) / sizeof(coefficients[0]); // 计算数组长度
double point = 5.0; // 测试点
double value = polynomial_value(coefficients, n, point);
printf("多项式 f(x)=%d*x^%d 在 x=%lf 的值为 %lf\n", coefficients[0], n, point, value);
return 0;
}
```
这个函数会计算并返回多项式`f(x)`在给定点`x`的值。注意,`pow()`函数用于计算幂次。
阅读全文