根据学过的线性表的链式存储,定义合适的数据结构,使用c语言编程实现多项式的建立,
时间: 2023-09-22 15:02:48 浏览: 105
【数据结构实验】用单链表实现多项式的计算(C语言)
多项式可以通过链表来实现。我们可以定义一个结点结构体,其中包含两个成员变量:系数 coefficient 和指数 exponent,分别表示多项式的系数和指数。同时,我们还需要定义一个链表结构体,其中包含一个指向结点的指针,表示链表的头指针。
代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
double coefficient;
int exponent;
struct Node* next;
} Node;
typedef struct Polynomial {
Node* head;
} Polynomial;
void initialize(Polynomial* poly) {
poly->head = NULL;
}
void insert_term(Polynomial* poly, double coefficient, int exponent) {
Node* new_term = (Node*)malloc(sizeof(Node));
new_term->coefficient = coefficient;
new_term->exponent = exponent;
new_term->next = NULL;
if (poly->head == NULL) {
poly->head = new_term;
} else {
Node* current = poly->head;
while (current->next != NULL) {
current = current->next;
}
current->next = new_term;
}
}
void display(Polynomial* poly) {
if (poly->head == NULL) {
printf("Empty polynomial.\n");
} else {
Node* current = poly->head;
while (current != NULL) {
printf("%.2fx^%d ", current->coefficient, current->exponent);
current = current->next;
}
printf("\n");
}
}
int main() {
Polynomial poly;
initialize(&poly);
insert_term(&poly, 3.2, 2); // 添加一个多项式项 3.2x^2
insert_term(&poly, -1.5, 1); // 添加一个多项式项 -1.5x^1
insert_term(&poly, 2.7, 0); // 添加一个多项式项 2.7x^0
display(&poly); // 输出多项式
return 0;
}
```
以上代码定义了一个多项式结构体,其中的 `insert_term` 函数用于向多项式中插入一个项,`initialize` 函数用于初始化多项式,`display` 函数用于打印多项式。在 `main` 函数中,我们创建了一个多项式,插入了三个项,并打印了多项式。
例子输出结果为:3.20x^2 -1.50x^1 +2.70x^0
以上就是用 C 语言实现多项式的建立的简单代码示例。
阅读全文