單鏈表實現(xiàn)一元多項式相加
單鏈表實現(xiàn)一元多項式相加
請幫我看一下這個程序有什么錯誤,
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef struct LNode
{ /*多項式的存儲結(jié)構(gòu)定義*/
int coef;
int expn;
struct LNode *next;
}LNode,*polynomail;
void creatpolyn(polynomail &p,int m)
{
int i;
int coef;
int expn;
polynomail s;
p=(polynomail)malloc(sizeof(LNode));
p->next = NULL;
for(i=1;icoef,s->expn);
printf("\n");
s->coef=coef;
s->expn=expn;
s->next=p->next;
p->next=s;
}
}//CreatPolyn
void addpolyn(polynomail &pa,polynomail &pb)
{
polynomail qa,qb,c,pc;
pc=(polynomail)malloc(sizeof(LNode));
pc->next=NULL;
qa=pa->next;
qb=pb->next;
while(qa&&qb)
{
if(qa->expn=qb->expn)
{
c=(polynomail)malloc(sizeof(LNode));
c->expn=pa->expn;
c->coef=qa->coef+qb->coef;
c->next=NULL;
qa=qa->next;
qb=qb->next;
}
if(qa->expn>qb->expn)
{
c=(polynomail)malloc(sizeof(LNode));
c->expn=qa->expn;
c->coef=qa->coef;
c->next=NULL;
qa=qa->next;
}
if(qa->expnexpn)
{
c=(polynomail)malloc(sizeof(LNode));
c->expn=qb->expn;
c->coef=qb->coef;
c->next=NULL;
qb=qb->next;
}
pc->next=c;
pc=c;
}//while
if(qa)
c->next=qa;
else
c->next=qb;
}//AddPolyn
void printpolyn(polynomail p)
{
while(p->next!=NULL)
{
p=p->next;
printf(" %g*x^%d",p->coef,p->expn);
}
}
int main()
{
int n,m;
polynomail pa,pb;
printf("請輸入一元多項式pa的項數(shù):");
scanf("%d\n",n);
printf("\n");
creatpolyn(&pa,n);
printf("請輸入一元多項式pb的項數(shù):");
scanf("%d\n",m);
printf("\n");
creatpolyn(&pb,m);
addpolyn(&pa,&pb);
printf("結(jié)果是:pa+pb=");
printpolyn(pa);
printf("\n");
return 0;
}
請幫我看一下這個程序有什么錯誤,
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef struct LNode
{ /*多項式的存儲結(jié)構(gòu)定義*/
int coef;
int expn;
struct LNode *next;
}LNode,*polynomail;
void creatpolyn(polynomail &p,int m)
{
int i;
int coef;
int expn;
polynomail s;
p=(polynomail)malloc(sizeof(LNode));
p->next = NULL;
for(i=1;icoef,s->expn);
printf("\n");
s->coef=coef;
s->expn=expn;
s->next=p->next;
p->next=s;
}
}//CreatPolyn
void addpolyn(polynomail &pa,polynomail &pb)
{
polynomail qa,qb,c,pc;
pc=(polynomail)malloc(sizeof(LNode));
pc->next=NULL;
qa=pa->next;
qb=pb->next;
while(qa&&qb)
{
if(qa->expn=qb->expn)
{
c=(polynomail)malloc(sizeof(LNode));
c->expn=pa->expn;
c->coef=qa->coef+qb->coef;
c->next=NULL;
qa=qa->next;
qb=qb->next;
}
if(qa->expn>qb->expn)
{
c=(polynomail)malloc(sizeof(LNode));
c->expn=qa->expn;
c->coef=qa->coef;
c->next=NULL;
qa=qa->next;
}
if(qa->expnexpn)
{
c=(polynomail)malloc(sizeof(LNode));
c->expn=qb->expn;
c->coef=qb->coef;
c->next=NULL;
qb=qb->next;
}
pc->next=c;
pc=c;
}//while
if(qa)
c->next=qa;
else
c->next=qb;
}//AddPolyn
void printpolyn(polynomail p)
{
while(p->next!=NULL)
{
p=p->next;
printf(" %g*x^%d",p->coef,p->expn);
}
}
int main()
{
int n,m;
polynomail pa,pb;
printf("請輸入一元多項式pa的項數(shù):");
scanf("%d\n",n);
printf("\n");
creatpolyn(&pa,n);
printf("請輸入一元多項式pb的項數(shù):");
scanf("%d\n",m);
printf("\n");
creatpolyn(&pb,m);
addpolyn(&pa,&pb);
printf("結(jié)果是:pa+pb=");
printpolyn(pa);
printf("\n");
return 0;
}
其他人氣:860 ℃時間:2020-04-02 08:21:19
優(yōu)質(zhì)解答
我希望你能給我加分啥,我?guī)湍阏{(diào)試了大概2個小時了.這程序是不是你寫的?如果是的話,希望你好好加強C的基本功,很多思想上和語法上的問題.其實我也不是幫你改,基本上我?guī)湍阒貙懥?#include #include #include #include ...
我來回答
類似推薦
- 地暖進水管和回水管都開著,水不循環(huán)什么原因
- 培優(yōu)訓練
- "紀昌學射"```幫幫忙啊```
- 已知二次函數(shù)f(x)是偶函數(shù),且經(jīng)過點(3,6)求它的解析式.謝
- “理想很豐滿,現(xiàn)實很骨感”這句話是什么意思呀?
- it is convenient for you to do 這里for you在句中是什么結(jié)構(gòu)
- 將na2co3和nahco3混合物30克配成一升溶液,測得溶液的ph=10.62,溶液含NA2CO3幾克?
- 有關(guān)于Lg的計算
- 對冪指函數(shù)兩邊求導?
- a比b多25%,b比a少( )%
- 物質(zhì)的量濃度相等的醋酸和醋酸鈉溶液等體積混合,兩倍的鈉離子=醋酸根+醋酸,這個是怎么來的?
- 一箱蘋果,吃了2/5,吃了18顆,這箱蘋果原有_顆.
猜你喜歡
- 1問幾道小學六年級數(shù)學的題,分高.
- 2向量的運算法則
- 3did what buy food you for Daming 怎么排列順序
- 4z=1+根號3i分之-2,i為虛數(shù)單位,argz=
- 5寫兩篇關(guān)于治水金點子的作文
- 6甲乙兩人從a地到b地,甲需1小時,乙需40分鐘,若甲先出發(fā)10分鐘,則乙追上甲需用多少分鐘 要算式和講解.
- 7求翻譯一下這段內(nèi)容,謝謝!
- 8try ……on的意思
- 9but的用法之一
- 10Li Guanghua is good at playing foot.(同義句轉(zhuǎn)化)LI Guanghua is ()very ()()().
- 11______ (Much/Lots) of them can speak English quite well.
- 12雞的只數(shù)是鴨的2分之1,鵝的只數(shù)是雞的3分之1,鵝的只數(shù)為鴨的幾分之幾?