用C语言编写程序求解一个多项式在一个给定点的值,例如p(x)=2*x^4-x^3-3*x^2+x-5,求x=3多项式p(x)的值。输入形式一个n次多项式n,系数矩阵P[0..n](从低到高存储),以及一个数字x。输出形式为多项式在x点的值
时间: 2024-10-23 10:12:58 浏览: 32
在C语言中,你可以通过循环遍历多项式的项并应用代数公式来计算给定点的值。这里是一个简单的步骤说明:
1. 定义一个函数`evaluatePolynomial`,它接受两个参数:一个整数`n`表示多项式的次数,一个数组`P`存储了多项式的系数,还有你要计算值的变量`x`。
```c
double evaluatePolynomial(int n, double P[], double x) {
double result = 0; // 初始化结果为0
for (int i = 0; i <= n; ++i) { // 遍历从常数项到最高次幂
result += P[i] * pow(x, i); // 应用多项式展开式:P[i]*x^i
}
return result;
}
```
2. 使用这个函数时,传入多项式的系数数组`P[]`,比如对于题目中的多项式 p(x) = 2*x^4 - x^3 - 3*x^2 + x - 5,系数为 `[2, -1, -3, 1, -5]`。
```c
int main() {
int n = 4; // 这里假设多项式的次数为4
double P[] = {2, -1, -3, 1, -5}; // 多项式的系数
double x = 3; // 计算点为3
double value_at_3 = evaluatePolynomial(n, P, x);
printf("当x = 3时,多项式 p(x) 的值为 %.2f\n", value_at_3);
return 0;
}
```
当你运行这段代码,它会输出 `p(3)` 的值。
阅读全文