用头插法创建一元多项式(注意:键盘输入的每个结点的指数要从小到大输入)用C语言
时间: 2024-05-11 20:16:10 浏览: 69
来实现。
好的,我来回答你的问题。首先,我们需要定义一个多项式的结点,包括该结点的系数和指数。代码如下:
```
typedef struct node {
float coef; // 系数
int exp; // 指数
struct node *next; // 指向下一个结点
} Node;
```
然后,我们就可以开始用头插法创建多项式了。具体实现过程如下:
```
Node *createPoly() {
Node *head, *p, *tail;
head = tail = (Node *)malloc(sizeof(Node));
head->next = NULL;
int exp;
float coef;
printf("请输入一元多项式每一项的指数和系数(指数从小到大输入,输入-1表示结束):");
scanf("%d%f", &exp, &coef);
while (exp != -1) {
p = (Node *)malloc(sizeof(Node));
p->coef = coef;
p->exp = exp;
p->next = NULL;
tail->next = p;
tail = p;
printf("请输入一元多项式每一项的指数和系数:");
scanf("%d%f", &exp, &coef);
}
return head;
}
```
在主函数中调用该函数即可创建一元多项式。
阅读全文