c语言简单多项式求值
时间: 2024-10-29 20:17:17 浏览: 95
在C语言中,你可以通过结构体和函数来实现一个简单的多项式求值功能。首先,创建一个结构体表示多项式的项:
```c
typedef struct {
double coef; // 系数
int exp; // 指数
} Term;
```
接下来,定义一个数组来存储多项式的项,并有一个函数来计算给定输入值时的值:
```c
double polynomial_value(Term* terms, int degree, double x) {
double result = 0.0;
for (int i = 0; i <= degree; ++i) { // 从0到degree遍历,包括0和degree
result += terms[i].coef * pow(x, terms[i].exp); // 根据指数计算x的幂,然后相加
}
return result;
}
```
在这个函数中,`terms`是一个`Term`类型的指针,它指向一个包含多项式系数和对应指数的数组。`degree`是多项式的最高次幂,`x`是要求值的变量。
要使用这个函数,你需要先创建`Term`数组并初始化,例如:
```c
Term poly[] = { {2.0, 2}, {1.5, 1}, {0.5, 0} }; // 二次多项式:2x^2 + 1.5x + 0.5
int degree = sizeof(poly) / sizeof(poly[0]) - 1; // 减一得到实际的度
double x_val = 3.0; // 要求值的x
double result = polynomial_value(poly, degree, x_val);
```
阅读全文