数据结构一元多项式c的代码
时间: 2024-09-17 13:09:03 浏览: 66
实验一_数据结构算法_一元多项式_
5星 · 资源好评率100%
在C语言中,数据结构一元多项式通常会涉及到数组或者结构体来存储系数和指数。这里简单介绍一个基础的一元多项式的表示方法:
```c
#include <stdio.h>
// 定义多项式结构体
typedef struct {
double* coefficients; // 各项系数
int degree; // 最高次数
} Polynomial;
// 初始化多项式
void init_polynomial(Polynomial* poly, int n) {
poly->coefficients = (double*)malloc(n * sizeof(double));
poly->degree = n - 1;
}
// 设置多项式的系数
void set_coefficient(Polynomial* poly, int exponent, double value) {
if (exponent >= poly->degree)
return;
poly->coefficients[exponent] = value;
}
// 计算多项式的值
double evaluate_polynomial(Polynomial* poly, double x) {
double result = 0;
for (int i = 0; i <= poly->degree; i++) {
result += poly->coefficients[i] * pow(x, i);
}
return result;
}
// 示例使用
int main() {
Polynomial poly;
init_polynomial(&poly, 5); // 初始化最高次项为4
set_coefficient(&poly, 2, 2.0); // 设置x^2的系数为2
set_coefficient(&poly, 0, 1.0); // 设置常数项为1
double x = 3.0;
printf("Polynomial value at x = %.2f is %.2f\n", x, evaluate_polynomial(&poly, x));
free(poly.coefficients); // 释放内存
return 0;
}
```
阅读全文