运用c语言的链表表示一元多项式,要求输入多项式的项数与指数,输出一元多项式
时间: 2023-05-21 19:03:32 浏览: 199
好的,以下是一个用 C 语言实现的链表表示一元多项式的代码:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int coef; // 系数
int exp; // 指数
struct Node* next;
} Node;
Node* createNode(int coef, int exp) {
Node* node = (Node*)malloc(sizeof(Node));
node->coef = coef;
node->exp = exp;
node->next = NULL;
return node;
}
void insertNode(Node** head, int coef, int exp) {
Node* node = createNode(coef, exp);
if (*head == NULL) {
*head = node;
} else {
Node* curr = *head;
while (curr->next != NULL) {
curr = curr->next;
}
curr->next = node;
}
}
void printList(Node* head) {
Node* curr = head;
while (curr != NULL) {
printf("%dx^%d ", curr->coef, curr->exp);
curr = curr->next;
if (curr != NULL) {
printf("+ ");
}
}
printf("\n");
}
int main() {
int n;
printf("请输入多项式的项数:");
scanf("%d", &n);
Node* head = NULL;
for (int i = 0; i < n; i++) {
int coef, exp;
printf("请输入第%d项的系数和指数:", i+1);
scanf("%d%d", &coef, &exp);
insertNode(&head, coef, exp);
}
printf("多项式为:");
printList(head);
return 0;
}
```
这个程序会先让用户输入多项式的项数,然后依次输入每一项的系数和指数,最后输出整个多项式。这里使用了链表来存储多项式,每个节点表示一个项,包含系数和指数两个属性。
阅读全文