问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一元多项式运算c语言实现

发布网友 发布时间:2022-04-24 03:04

我来回答

1个回答

热心网友 时间:2023-10-23 16:26

#include<stdio.h> 声明部分:源代码含有2个文件
#include<malloc.h>
typedef struct pnode // 定义指针//
{int coef; //定义系数//
int exp; //定义指数//
struct pnode *next;
}pnode;

pnode * creat() //creat函数用来存放多项式//
{int m,n;
pnode *head,*rear,*s;
head=(pnode *)malloc(sizeof(pnode));
rear=head;
printf("\n输入指数(按递增顺序输入):");
scanf("%d",&m);
printf("输入一元式系数(0为退出):");
scanf("%d",&n);
do
{
s=(pnode *)malloc(sizeof(pnode));
s->coef=n; //n为系数//
s->exp=m; //m为指数//
rear->next=s;
s->next=NULL;
rear=s;
printf("\n输入指数(按递增顺序输入):");
scanf("%d",&m);
printf("输入一元式系数(0为退出):");
scanf("%d",&n);
}while(n);
return head;
}

pnode * add(pnode *heada,pnode *headb)
{pnode *headc,*a,*b,*s,*rearc;
int sum;
a=heada->next;b=headb->next;
headc=(pnode *)malloc(sizeof(pnode));
rearc=headc;
//多项式的存放//都放到s中里//
while(a!=NULL&&b!=NULL) //指数相等,则系数相加。//
{
if(a->exp==b->exp)
{ sum=a->coef+b->coef;
if(sum)
{s=(pnode *)malloc(sizeof(pnode));
s->coef=sum;
s->exp=a->exp;
rearc->next=s;
rearc=s;
a=a->next;
b=b->next;}
else
{a=a->next;
b=b->next;
}
}
else if(a->exp<b->exp)
//a指数如果小于b,则a放到s中//
{ s=(pnode *)malloc(sizeof(pnode));
s->coef=a->coef;
s->exp=a->exp;
rearc->next=s;
//用下一个结点s取代下一个c//
rearc=s;
a=a->next;
}
else //如果a的指数大,则b放到s中//
{ s=(pnode *)malloc(sizeof(pnode));
s->coef=b->coef;
s->exp=b->exp;
rearc->next=s;
rearc=s;
b=b->next;
}
}
if(a)
{while(a!=NULL) //b空了放a中的项//
{s=(pnode *)malloc(sizeof(pnode));
s->coef=a->coef;
s->exp=a->exp;
rearc->next=s;
s->next=NULL;
rearc=s;
a=a->next;
}
}
else if(b)
{while(b!=NULL) //a空了放b中的项//
{s=(pnode *)malloc(sizeof(pnode));
s->coef=b->coef;
s->exp=b->exp;
rearc->next=s;
s->next=NULL;
rearc=s;
b=b->next;
}}

return headc;
}
void main()
{pnode *a,*b,*c;
printf("建立A:");
a=creat();
printf("\n建立B:");
b=creat();

c=add(a,b);
c=c->next;
printf("%dx^%d",c->coef,c->exp);
c=c->next;
while(c!=NULL)
{printf("+%dx^%d",c->coef,c->exp);
c=c->next;
}
}

热心网友 时间:2023-10-23 16:26

#include<stdio.h> 声明部分:源代码含有2个文件
#include<malloc.h>
typedef struct pnode // 定义指针//
{int coef; //定义系数//
int exp; //定义指数//
struct pnode *next;
}pnode;

pnode * creat() //creat函数用来存放多项式//
{int m,n;
pnode *head,*rear,*s;
head=(pnode *)malloc(sizeof(pnode));
rear=head;
printf("\n输入指数(按递增顺序输入):");
scanf("%d",&m);
printf("输入一元式系数(0为退出):");
scanf("%d",&n);
do
{
s=(pnode *)malloc(sizeof(pnode));
s->coef=n; //n为系数//
s->exp=m; //m为指数//
rear->next=s;
s->next=NULL;
rear=s;
printf("\n输入指数(按递增顺序输入):");
scanf("%d",&m);
printf("输入一元式系数(0为退出):");
scanf("%d",&n);
}while(n);
return head;
}

pnode * add(pnode *heada,pnode *headb)
{pnode *headc,*a,*b,*s,*rearc;
int sum;
a=heada->next;b=headb->next;
headc=(pnode *)malloc(sizeof(pnode));
rearc=headc;
//多项式的存放//都放到s中里//
while(a!=NULL&&b!=NULL) //指数相等,则系数相加。//
{
if(a->exp==b->exp)
{ sum=a->coef+b->coef;
if(sum)
{s=(pnode *)malloc(sizeof(pnode));
s->coef=sum;
s->exp=a->exp;
rearc->next=s;
rearc=s;
a=a->next;
b=b->next;}
else
{a=a->next;
b=b->next;
}
}
else if(a->exp<b->exp)
//a指数如果小于b,则a放到s中//
{ s=(pnode *)malloc(sizeof(pnode));
s->coef=a->coef;
s->exp=a->exp;
rearc->next=s;
//用下一个结点s取代下一个c//
rearc=s;
a=a->next;
}
else //如果a的指数大,则b放到s中//
{ s=(pnode *)malloc(sizeof(pnode));
s->coef=b->coef;
s->exp=b->exp;
rearc->next=s;
rearc=s;
b=b->next;
}
}
if(a)
{while(a!=NULL) //b空了放a中的项//
{s=(pnode *)malloc(sizeof(pnode));
s->coef=a->coef;
s->exp=a->exp;
rearc->next=s;
s->next=NULL;
rearc=s;
a=a->next;
}
}
else if(b)
{while(b!=NULL) //a空了放b中的项//
{s=(pnode *)malloc(sizeof(pnode));
s->coef=b->coef;
s->exp=b->exp;
rearc->next=s;
s->next=NULL;
rearc=s;
b=b->next;
}}

return headc;
}
void main()
{pnode *a,*b,*c;
printf("建立A:");
a=creat();
printf("\n建立B:");
b=creat();

c=add(a,b);
c=c->next;
printf("%dx^%d",c->coef,c->exp);
c=c->next;
while(c!=NULL)
{printf("+%dx^%d",c->coef,c->exp);
c=c->next;
}
}

热心网友 时间:2023-10-23 16:26

#include<stdio.h> 声明部分:源代码含有2个文件
#include<malloc.h>
typedef struct pnode // 定义指针//
{int coef; //定义系数//
int exp; //定义指数//
struct pnode *next;
}pnode;

pnode * creat() //creat函数用来存放多项式//
{int m,n;
pnode *head,*rear,*s;
head=(pnode *)malloc(sizeof(pnode));
rear=head;
printf("\n输入指数(按递增顺序输入):");
scanf("%d",&m);
printf("输入一元式系数(0为退出):");
scanf("%d",&n);
do
{
s=(pnode *)malloc(sizeof(pnode));
s->coef=n; //n为系数//
s->exp=m; //m为指数//
rear->next=s;
s->next=NULL;
rear=s;
printf("\n输入指数(按递增顺序输入):");
scanf("%d",&m);
printf("输入一元式系数(0为退出):");
scanf("%d",&n);
}while(n);
return head;
}

pnode * add(pnode *heada,pnode *headb)
{pnode *headc,*a,*b,*s,*rearc;
int sum;
a=heada->next;b=headb->next;
headc=(pnode *)malloc(sizeof(pnode));
rearc=headc;
//多项式的存放//都放到s中里//
while(a!=NULL&&b!=NULL) //指数相等,则系数相加。//
{
if(a->exp==b->exp)
{ sum=a->coef+b->coef;
if(sum)
{s=(pnode *)malloc(sizeof(pnode));
s->coef=sum;
s->exp=a->exp;
rearc->next=s;
rearc=s;
a=a->next;
b=b->next;}
else
{a=a->next;
b=b->next;
}
}
else if(a->exp<b->exp)
//a指数如果小于b,则a放到s中//
{ s=(pnode *)malloc(sizeof(pnode));
s->coef=a->coef;
s->exp=a->exp;
rearc->next=s;
//用下一个结点s取代下一个c//
rearc=s;
a=a->next;
}
else //如果a的指数大,则b放到s中//
{ s=(pnode *)malloc(sizeof(pnode));
s->coef=b->coef;
s->exp=b->exp;
rearc->next=s;
rearc=s;
b=b->next;
}
}
if(a)
{while(a!=NULL) //b空了放a中的项//
{s=(pnode *)malloc(sizeof(pnode));
s->coef=a->coef;
s->exp=a->exp;
rearc->next=s;
s->next=NULL;
rearc=s;
a=a->next;
}
}
else if(b)
{while(b!=NULL) //a空了放b中的项//
{s=(pnode *)malloc(sizeof(pnode));
s->coef=b->coef;
s->exp=b->exp;
rearc->next=s;
s->next=NULL;
rearc=s;
b=b->next;
}}

return headc;
}
void main()
{pnode *a,*b,*c;
printf("建立A:");
a=creat();
printf("\n建立B:");
b=creat();

c=add(a,b);
c=c->next;
printf("%dx^%d",c->coef,c->exp);
c=c->next;
while(c!=NULL)
{printf("+%dx^%d",c->coef,c->exp);
c=c->next;
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 数据结构(C语言) 一元稀疏多项式计算器的课程设计(数据结构) 请问这个程序为什么运行不了,就是调用不了第三个函数 如何用C语言实现一元多项式简单计算器的设计 C++的poly函数 #include &quot;polyn.h&quot; #include &quot;polyn.c&quot; void main() { int i,m; Polyn q,p,to; printf(&quot;input the q apol 计算一元稀疏多项式 PrintPolyn啥意思 求助翻译一个试剂单词的名字poly polyn是什么意思 登录soul的手机号注销了,soul会被强制退出吗 soul如果没有注销账号和解绑手机号能卸载吗? 任娇之死警方排除他杀了吗? soul不能用以前的手机号和密码登录了吗,说的要发验证码,但以前的手机没... soul换绑手机号已经不用了可以吗 苹果七 和苹果7p参数是什么? 如何区分生鸡蛋和熟鸡蛋?(配图片) 如何区分生鸡蛋和熟鸡蛋 如何辨别生熟鸡蛋 怎样鉴别鸡蛋的熟和生啊? 世界上有没有纯粹的柏拉图式的精神恋爱。。。 C语言,描述多项式加法 关于结构体的定义 请帮忙编一个多项式相加的程序(要用C++或者C语言) 数据结构:设计实现一个一元稀疏多项式计算器 数据结构实验报告(c语言版)。急急急!!! C语言:用链表表示多项式并完成输入、运算和输出。 数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算,怎么做? 一元多项式简单的计算器C语言 数据结构 急!!!(高分悬赏) 苹果手机自带的视频播放器是那个丶?好多英文看不懂? 权凭……难道不是造句 权利凭证是什么 权力凭什么可以命令别人? “股东有权凭股票从股份有限公司取得股息等收入”正确否?为什么? 部队团级单位有权凭定残废等级吗? 在我国,持票人有权凭来人汇票要求付款人向其支付汇票上所记载的全部金额。为什么错误 原告法人代表是否有权凭法院调查函查询被告身份证信息? 法院有权凭当事人提供的姓名查询其名下所有银行的财产吗? 什么关系=有权凭银行卡号查你的资产? 卖房后无处落户,请问下家有权凭产证去派出所要求注销上家户口吗?会因为该原因使上家丧失身份吗? 请教信用卡的所有权问题