永发信息网

【数据结构】 实现两个多项式的相加、减。要求:输出两个多项式原式,以及计算结果。

答案:1  悬赏:0  手机版
解决时间 2021-03-10 10:06
用C语言……
最佳答案
#include "stdio.h"


typedef struct LNode{
double coef;
int exp;
struct LNode *next;
}LNode;


LNode *Init()
{
LNode *head = (LNode*)malloc(sizeof(LNode));
head->next = NULL;
return head;
}


void AddNode(LNode *head, double coef, int exp)
{
LNode *pre = head->next;
LNode *temp;
temp = (LNode*)malloc(sizeof(LNode));
temp->coef = coef;
temp->exp = exp;
temp->next = NULL;

if(pre == NULL)
{
head->next = temp;
return;
}

for(; pre->next!=NULL; pre=pre->next);

pre->next = temp;
}


void List(LNode *head)
{
LNode *curr;
printf("All nodes : ");
for(curr=head->next; curr!=NULL; curr=curr->next)
{
printf("(%lf, %d)\t", curr->coef, curr->exp);
}
printf("\n");
}


int Size(LNode *head)
{
int len = 0;
LNode *curr;
for(curr=head->next; curr!=NULL; curr=curr->next,len++);

return len;
}

LNode *Add(LNode *headA, LNode *headB)
{
LNode *currA, *currB, *headC;
double sum;
currA = headA->next;
currB = headB->next;
headC = Init();
while(currA!=NULL && currB!=NULL)
{
if(currA->exp > currB->exp)
{
AddNode(headC, currA->coef, currA->exp);
currA = currA->next;
}
else if(currA->exp < currB->exp)
{
AddNode(headC, currB->coef, currB->exp);
currB = currB->next;
}
else
{
sum = currA->coef + currB->coef;
if(sum != 0)
{
AddNode(headC, sum, currA->exp);
}
currA = currA->next;
currB = currB->next;
}
}
while(currA != NULL)
{
AddNode(headC, currA->coef, currA->exp);
currA = currA->next;
}
while(currB != NULL)
{
AddNode(headC, currB->coef, currB->exp);
currB = currB->next;
}

return headC;
}

void main()
{
LNode *headA, *headB, *headC;
headA = Init();
headB = Init();
AddNode(headA, 1.0, 5);
AddNode(headA, -1.0, 3);
AddNode(headA, 1, 0);
AddNode(headB, 0.5, 5);
AddNode(headB, 1.0, 4);
AddNode(headB, 1.0, 3);

List(headA);
List(headB);

headC = Add(headA, headB);

List(headC);

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
Henry怎么了,怎么这几天都是对他失望了什么
看下从面相学上看看我鼻子咋样?有福气么?3Q
墨翰轩我想知道这个在什么地方
南京702路公交全程站点
2月6日用英语怎么说
已知ab≠0,求a除以a的绝对值的商与b除以b的绝
黄瓜是不是不能跟蚝一起吃
生金粮油店地址有知道的么?有点事想过去
石耳的做法,石耳怎么做好吃
一筒卷纸不展开,只用一把刻度尺,如何测量卷纸
带流源字的成语
请问 现在背刺 伏击 跟攻强的具体关系是什么
办公室座位图模板
荷花坑村公墓怎么去啊,有知道地址的么
反义词 勤劳一( ) 讨厌一( ) 伤心一(
推荐资讯
农历九月初三是黄道吉日2016
【有头没有颈】有头没有颈,有眼没有眉,没腿水
中银大厦停车场地址在什么地方,想过去办事
华帝(谭庄店)在哪里啊,我有事要去这个地方
我为什么这样做为题写一篇作文不少于500不多
东北话qiu黑的qiu怎么写
广东农信开平农村信用社曙光分社在哪里啊,我
12÷()=32分之几=百分之()=()(小数)
怎样可以让自己博学多识?能言善辩
人工心肺机的基本组成包括().
英语小故事,200~300字左右的?
血压计电子臂式怎么检测准不准
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?