-
大小: 3KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-06-09
- 語言: C/C++
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??
資源簡介
數(shù)據(jù)結(jié)構(gòu)中的一元多項式的除法,用單向鏈表實現(xiàn),也涉及到一元多項式的加法等等。
代碼片段和文件信息
//一元多項式的除法
#include
#include
#define?NULL?0
typedef?struct?list
{
float?coef;
int?expn;
list?*next;
}LNode*linkList;
linkList?Create(linkList?fint?n);???//創(chuàng)建一元多項式
linkList?Completion(linkListint);
void?Division(linkListlinkList);
int?Num(linkList);
linkList?Dele(linkList);
void?Print(linkList);
void?main()
{
linkList?ABC;
int?mnk;
printf(“請輸入一元多項式的項數(shù):“);
scanf(“%d“&n);
printf(“請輸入一元多項式的系數(shù)、指數(shù):\n“);
A=Create(An);
printf(“請輸入一元多項式的項數(shù):“);
scanf(“%d“&m);
printf(“請輸入一元多項式的系數(shù)、指數(shù):\n“);
B=Create(Bm);
Division(AB);
}
linkList?Create(linkList?fint?n)??????//創(chuàng)建一元多項式
{
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
評論
共有 條評論