数据结构创建一元多项式c语言
时间: 2024-09-26 15:03:24 浏览: 48
数据结构C语言 一元多项式的加减法
在C语言中,创建一元多项式数据结构通常可以设计成一个结构体,包含一个数组(表示系数)和两个整数(表示次数的上限和当前项数)。这里是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int degree; // 次数上限
double* coefficients; // 系数数组
int count; // 当前项数
} Polynomial;
// 初始化多项式结构
void initPolynomial(Polynomial* poly) {
poly->degree = 0;
poly->coefficients = malloc(sizeof(double) * (poly->degree + 1));
poly->count = 0;
}
// 添加新项到多项式
void addTerm(Polynomial* poly, double coefficient, int exponent) {
if (exponent > poly->degree) {
poly->degree = exponent;
realloc(poly->coefficients, sizeof(double) * (poly->degree + 1));
}
poly->coefficients[poly->count] = coefficient;
poly->count++;
}
// 打印多项式
void printPolynomial(const Polynomial* poly) {
for (int i = 0; i <= poly->count; i++) {
printf("系数(%d): %f ", i, poly->coefficients[i]);
if (i != poly->count)
printf("+");
else
printf("\n");
}
}
// 示例
int main() {
Polynomial poly;
initPolynomial(&poly);
addTerm(&poly, 2.0, 2); // 2x^2
addTerm(&poly, 1.5, 1); // 1.5x^1
printPolynomial(&poly);
return 0;
}
```
阅读全文