基于c数据结构——实现多项式合并同类项,加法和乘法

这篇博客介绍了如何使用C语言实现一元多项式的合并同类项、加法和乘法操作。通过定义结构体表示多项式的系数和指数,并利用链表数据结构进行存储。博客内容包括多项式的创建、输出、求值以及加法和乘法的具体实现方法。
摘要由CSDN通过智能技术生成

 

#include<stdio.h>

#include<malloc.h>

//定义结点的结构体

typedef struct

{

float x;//系数

int z;//指数

}polynomial;

typedef struct Node

{

  polynomial data;

  struct Node *next;

}SLNode;

//初始化

void Initial(SLNode **head)

{

*head=(SLNode *)malloc(sizeof(SLNode));

(*head)->next=NULL;

}

//求当前链表数据元素的个数

int Length(SLNode *head)

{

SLNode *p;//辅助指针

int size=0;

p=head;

while(p!=NULL)

{

size++;

p=p->next;

}

return size;

}

//插入多个元素

void  Insert(SLNode *head)

{

SLNode *p,*s;//辅助指针

int m;

float n;

p=head;

printf("输入系数x:");

scanf("%f",&n);

printf("输入指数z:");

scanf("%d",&m);

while(m!=0)

{

s=(SLNode *)malloc(sizeof(SLNode));

s->data.x=n;//系数赋值

s->data.z=m;//指数赋值

p->next=s->next;

p->next=s;

printf("输入系数x:");

scanf("%f",&n);

printf("输入指数z:");

scanf("%d",&m);

}

}

/*删除当前指针所指向的元素

void Delete(SLNode *curr)

{

SLNode *p;//辅助指针

p=curr;

curr=curr->next;//指针后移

free(p);

}

*/

///一元多项式及其操作的实现

#include<stdio.h>

#include<malloc.h>

#include"queue.h"

//建立多项式

SLNode *Creat()

{

SLNode *head,*p,*q;

int i,j;

printf("请输入多项式的项数:");

scanf("%d",&j);

Initial(&head);

for(i=0;i<j;i++)

{   q=head;

p=(SLNode*) malloc(sizeof(SLNode));

printf("请输入第%i项的系数和指数

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值