一元多项式的表示及相加(c语言实现)

本文详细介绍了如何使用链表数据结构实现一元多项式的相加操作。通过创建带头节点的多项式,读取用户输入的系数和指数,然后利用链表合并相同指数的项并按指数升序排列,最终输出相加后的结果。提供的C语言代码包括多项式创建、打印、比较和相加函数,实现了多项式的高效相加。
  一元多项式顾名思义就是好多个式子相加减,显然想到的就是利用单链表来实现,我在此处只讨论一元多项式相加的情况,相减也是一样的做法。首先,两个一元多项式相加,可以把它转化为两个单链表的合并,这是首要,然后就是将相同指数的项合并,将不同指数的项从小到大的顺序排列,使得相加后的一元多项式更加美观。具体代码及注释如下:
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(poly)
typedef struct term{
   
   
    float coef;
    int expn;
    struct term*next;
}poly,*link;
void creatpoly(link*p,int m);
void printpoly(link p);
int  cmp(link p1,link p2);
link addpoly(link pa,link pb);
link reverse(link p);
int main()
{
   
   
  link p1,p2;
  int L1,L2;
  printf("请输入第一个多项式的项数:");
  scanf("%d",&L1);
  creatpoly(&p1,L1);
  printf("第一个多项式为:");
  printpoly(p1);
  printf(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值