用数据结构写一个多项式的表达及相加,怎么写啊

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 02:23:34
用数据结构写一个多项式的表达及相加,怎么写啊

用数据结构写一个多项式的表达及相加,怎么写啊
用数据结构写一个多项式的表达及相加,怎么写啊

用数据结构写一个多项式的表达及相加,怎么写啊
#include
#include
typedef struct PNode{
double coef;//系数域
int exp;//指数域
struct PNode *next;//指针域
}PNode,*PLink;
void Init_Polynomial(PLink &P)//初始化建立空多项式
{
P=(PLink)malloc(sizeof(PNode));
P->next=NULL;
if(!P)exit(1);
}
void Print_Polynomial(PLink P,char ch)//升序输出多项式,变量符号用ch传递
{
if(!P||ch'Z'&&ch'z')exit(1);
printf("The Polynomial is:");
PLink p=P->next;
if(!p)printf("0");
for(;p;p=p->next)
{
if(p==P->next)printf("%.2lf",p->coef);
else {
if(p->coef>0)printf("+");
printf("%.2lf",p->coef);
}
if(p->exp>1)printf("%c^%d",ch,p->exp);
if(p->exp==1)printf("%c",ch);
if(p->expexp);
}
printf("\n");
}
void Insert_Polynomial(PLink &P,double coef,int exp)//在原升序多项式基础上加上系数为coef指数为exp的项
{
PLink p,prev;
for(prev=P,p=P->next;p&&p->expnext);
if(!p||p->exp>exp)
{
PLink q=(PLink)malloc(sizeof(PNode));
q->coef=coef;
q->exp=exp;
prev->next=q;
q->next=p;
}
else
{
p->coef+=coef;
if(p->coef==0)
{
PLink q=p;
prev->next=p->next;
free(q);
}
}
}
PLink Add_Polynomial(PLink A,PLink B)
{
PLink sum;
Init_Polynomial(sum);
PLink p=A->next,q=B->next,r=sum,temp;
while(p&&q)
{
if(p->exp!=q->exp)
{
if(p->expexp)
{
temp=(PLink)malloc(sizeof(PNode));
temp->exp=p->exp;
temp->coef=p->coef;
temp->next=NULL;
p=p->next;
}
else
{
temp=(PLink)malloc(sizeof(PNode));
temp->exp=q->exp;
temp->coef=q->coef;
temp->next=NULL;
q=q->next;
}
r->next=temp;
r=temp;
}
else
{
if(p->coef+q->coef==0)
{
p=p->next;
q=q->next;
}
else
{
temp=(PLink)malloc(sizeof(PNode));
temp->exp=q->exp;
temp->coef=p->coef+q->coef;
temp->next=NULL;
q=q->next;
p=p->next;
r->next=temp;
r=temp;
}
}
}
while(p)
{
temp=(PLink)malloc(sizeof(PNode));
temp->exp=p->exp;
temp->coef=p->coef;
temp->next=NULL;
p=p->next;
r->next=temp;
r=temp;
}
while(q)
{
temp=(PLink)malloc(sizeof(PNode));
temp->exp=q->exp;
temp->coef=q->coef;
temp->next=NULL;
q=q->next;
r->next=temp;
r=temp;
}
return sum;
}
PLink Multiply_Polynomial(PLink A,PLink B)
{
PLink C;
Init_Polynomial(C);
PLink p,q;
for(p=A->next;p;p=p->next)
{for(q=B->next;q;q=q->next)Insert_Polynomial(C,p->coef*q->coef,p->exp+q->exp);}
return C;
}
void Delete_Polynomial(PLink &A)
{
PLink temp=A;
while(A)
{
temp=A;
A=A->next;
free(temp);
}
}
PLink Exp_Polynomial(PLink A,unsigned int exp)
{
PLink B,temp,C;
Init_Polynomial(B);
Insert_Polynomial(B,1.0,0);
for(int i=0;i

用数据结构写一个多项式的表达及相加,怎么写啊 怎么编程一元多项式相加(数据结构) 数据结构(C语言) 如何分别用顺序和链式 实现一元多项式的相加? 设计一个一元多项式简单的计算器(数据结构C语言版)急要求:一元多项式计算器的基本功能定为 (1) 建立多项式 (2) 输出多项式 (3) 两个多项式相加,建立并输出和多项式 (4) 两个多项式相减 关于数据结构单链表的题,给定两个多项式,实现多项式的相加算法, 数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算 C语言写多项式相加怎么写? 【数据结构】 实现两个多项式的相加、减.要求:输出两个多项式原式,以及计算结果.用C语言…… 数据结构 一元多项式的相乘 的核心思想是?一元多项式相加,我会了.相乘的话,书上说的是多个数据相加.这中间我想知道怎么处理次数从小到大的问题. 一个数据结构的问题,单链表原地逆置,他的算法怎么写啊 我刚学数据结构,还不太会, 整式加减运算的实质是合并同类项,合并同类项时,把同类项的____相加,字母及字母的指数____单项式乘以多项式,用单项式去乘多项式的____,再把所得的积相加;多项式乘以多项式,用一个多项式 数据结构实验的实验报告怎么写 请问这个数据结构的函数怎么写? 数据结构:用链表实现两个多项式相加,用C++或者C语言实现多项式相加,求完整代码输入:第一行输入包含两个整数m,n后续为m行和n行数据m,n分别代表两个多项式的项数后续每一行代表多项式 数据结构与算法分析,求下图的这个数据结构怎么写啊? 数据结构怎么用?我现在不知道怎样用数据结构编程,很乱,谁有数据结构的完整代码 数据结构一元多项式相加,怎样让结果单独显示,或者区分开来! 4次多项式拟合4个点(x1,y1),(x2,y2),(x3,y3),(x4,y4)用一个四次多项式怎么拟合的?最好列出式子~表达失误,4个点,用三次多项式拟合,怎么算?