• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: 数据结构  

资源简介

数据结构中的一元多项式的除法,用单向链表实现,也涉及到一元多项式的加法等等。

资源截图

代码片段和文件信息

//一元多项式的除法
#include
#include
#define NULL 0
typedef struct list
{
float coef;
int expn;
list *next;
}LNode*linkList;
linkList Create(linkList fint n);   //创建一元多项式
linkList Completion(linkListint);
void Division(linkListlinkList);
int Num(linkList);
linkList Dele(linkList);
void Print(linkList);
void main()
{
linkList ABC;
int mnk;
printf(“请输入一元多项式的项数:“);
scanf(“%d“&n);
printf(“请输入一元多项式的系数、指数:\n“);
A=Create(An);
printf(“请输入一元多项式的项数:“);
scanf(“%d“&m);
printf(“请输入一元多项式的系数、指数:\n“);
B=Create(Bm);
Division(AB);
}
linkList Create(linkList fint n)      //创建一元多项式
{
linkList P;
f=(linkList)malloc(sizeof(LNode));
f->next= NULL;
for(int i=0;i {
P=(linkList)malloc(sizeof(LNode));
scanf(“%f%d“&P->coef&P->expn);
P->next=f->next;
f->next=P;
}
return f;
}
void Division(linkList AlinkList B)
{
linkList papbpcCw;
float ab;
int A_numB_nummn;
pa=A->next;
pb=B->next;
if(pa->coef==0) 
{
printf(“商为:0“);
}
if(pa->expnexpn)
{
printf(“不能被整除,余式为:“);
Print(A);
}
else 
{
A_num=Num(A);
B_num=Num(B);
A=Completion(AA_num);
B=Completion(BB_num);
if(pa->expn==pb->expn)
{
a=pa->coef;
b=pb->coef;
while(pb&&pa)
{

pa->coef=pa->coef-(a*pb->coef)/b;
pa=pa->next;
pb=pb->next;
}
printf(“商为:“);
printf(“%.2f\n“a/b);
A=Dele(A);
printf(“余式为:“);
Print(A);
}
else if(pa->expn>pb->expn)
{
m=pa->expn;
n=pb->expn;
C=(linkList)malloc(sizeof(LNode));
C->next=NULL;
pc=C;
for(int i=0;i

评论

共有 条评论