数据结构:一元稀疏多项式计算器(1)输入并建立多项式(2)输出多项式,输出形式为整数序列:项数,系数,指数,序列按指数降序排列.(3)多项不式a和b相加,建立多项式a+b.(4)多项式a和b

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 19:31:04
数据结构:一元稀疏多项式计算器(1)输入并建立多项式(2)输出多项式,输出形式为整数序列:项数,系数,指数,序列按指数降序排列.(3)多项不式a和b相加,建立多项式a+b.(4)多项式a和b

数据结构:一元稀疏多项式计算器(1)输入并建立多项式(2)输出多项式,输出形式为整数序列:项数,系数,指数,序列按指数降序排列.(3)多项不式a和b相加,建立多项式a+b.(4)多项式a和b
数据结构:一元稀疏多项式计算器
(1)输入并建立多项式
(2)输出多项式,输出形式为整数序列:项数,系数,指数,序列按指数降序排列.
(3)多项不式a和b相加,建立多项式a+b.
(4)多项式a和b相减,建立多项式a-b.
(5)计算多项式在x处的值.
不要上网复制给我,我已找过不符合.我要的是按要求做的程序,

数据结构:一元稀疏多项式计算器(1)输入并建立多项式(2)输出多项式,输出形式为整数序列:项数,系数,指数,序列按指数降序排列.(3)多项不式a和b相加,建立多项式a+b.(4)多项式a和b
#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;
}
}
参考资料:

一元稀疏多项式计算器设计任务:设计一个一元稀疏多项式简单计算器.设计要求:一元稀疏多项式简单计算器的基本功能是:(1)输入并建立多项式——creatpolyn();(2)输出多项式,输出形式为 一元稀疏多项式简单计算器数据结构:一元稀疏多项式相加 设计一个一元多项式加法器.实现:(1)输入并建立多项式; (2)输出多项式:n,c1,e1,c2,e2,…cn ,en,其中,n是多项式项数,ci和ei分别是第 i 数据结构:一元稀疏多项式计算器(1)输入并建立多项式(2)输出多项式,输出形式为整数序列:项数,系数,指数,序列按指数降序排列.(3)多项不式a和b相加,建立多项式a+b.(4)多项式a和b 一元稀疏多项式简单的计算器 设计一个一元多项式简单的计算器(数据结构C语言版)急要求:一元多项式计算器的基本功能定为 (1) 建立多项式 (2) 输出多项式 (3) 两个多项式相加,建立并输出和多项式 (4) 两个多项式相减 设计一个一元稀疏多项式简单计算器.说明:1. 该一元稀疏多项式计算器的基本功能是:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,….,cn,en,其中n是多项式的项数, 基本内容:设计一个一元稀疏多项式简单计算器.输入并建立多项式、按指数降序输出多项式、多项式相加、多 一元多项式运算一.问题描述设计一个简单的一元稀疏多项式加法运算器.二.基本要求一元稀疏多项式简单计算器的基本功能包括:1.按照指数升序次序,输入并建立多项式A与B.2.计算多项 高分悬赏,设计一个一元多项式简单的计算器(fortran语言)问题描述:设计一个一元多项式简单的计算器.基本要求:一元多项式简单计算器的基本功能为:(1) 输入并建立多项式;(2) 输 求高手帮帮忙:关于数据结构课程设计的问题描述:设有两个带表头的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理.实现要求:⑴ 输入并建立多项式;⑵ 输出多项式, 怎么编程一元多项式相加(数据结构) 数据结构课程设计(C语言版) 一元稀疏多项式的运算问题描述:设用两个数组表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理.***注意使用数组,不是链表哦~~!***实现要求:⑴ 输 一元多项式的实现(C语言)求程序大神帮忙解决一下数据结构的练习.要求:1)一元多项式的输入,显示输出(1)提示输入多项式系数和指数,输入之后把多项式按照常用形式显示出来(2)计算结 设计一个一元多项式简单的计算器(C语言)要求:(1)用带头节点的单链表表示多项式,表中每一个节点表示多项式的一项 (2)一元多项式简单计算器的基本功能为:输入并建立多项式,输出 多项式计算要求:1主要功能:(1)输入并建立多项式;(2)输出多项式;(3)两个多项式相加,建立并输出和多项式;(4)两个多项式相减,建立并输出差多项式.2.要求:一元多项式简单计算器的基本 多项式计算要求:1主要功能:(1)输入并建立多项式;(2)输出多项式;(3)两个多项式相加,建立并输出和多项式;(4)两个多项式相减,建立并输出差多项式.2.要求:一元多项式简单计算器的基本 数据结构(C语言)用单链表存储一元多项式,并实现两个多项式的相加运算 数据结构(C语言) 如何分别用顺序和链式 实现一元多项式的相加?