#include<stdio.h>
#include<stdlib.h>
struct node{
int exp;
float coef;
struct node *next;
};
typedef struct node ListNode;
ListNode *createpoly() //创建多项式链表
{
ListNode *h=NULL, *p, *q;
int e;
float c;
printf("请输入系数和指数:\n");
scanf("%f,%d", &c,&e);
while(e!=0||c!=0)//如果指数和系数都不为0进入循环
{
p=(ListNode*)malloc(sizeof(ListNode));
p->coef=c;
p->exp=e;
p->next=NULL;
if(h==NULL)
h=p;
else
q->next=p;
q=p;
printf("请输入系数和指数:\n");
scanf("%f,%d", &c,&e);
}
return h;
}
void disppoly(ListNode *h)//输出多项式
{
ListNode *p=h;
while(p!=NULL)
{
if(p->exp==0) //如果指数是0,则输出其系数
printf("%.3f", p->coef);
else
printf("%fx^%d", p->coef, p->exp);
p=p->next;
if(p!=NULL)
printf("+");
}
printf("\n");
}
ListNode *addpoly(ListNode *h
链表实现两个多项式相加--C语言实现
最新推荐文章于 2023-08-02 14:16:37 发布
本文展示了如何使用C语言通过链表结构实现两个多项式的相加操作。首先定义了一个链表节点结构,然后分别实现了创建多项式链表、显示多项式、相加两个多项式和释放内存的函数。在main函数中,创建两个多项式并相加,最后输出结果并释放内存。
摘要由CSDN通过智能技术生成