永发信息网

A.单链表的应用——一元多项式相加 题目:一元多项式pn(x)=p0+p1x+p2x2+……pnxn 在计算机中,可以用线性

答案:1  悬赏:40  手机版
解决时间 2021-11-19 14:59
A.单链表的应用——一元多项式相加 题目:一元多项式pn(x)=p0+p1x+p2x2+……pnxn 在计算机中,可以用线性
最佳答案


#include
#include

typedef struct LNode
{
int data; //存储系数
int flag; //存储对应幂数
struct LNode *next;
}LNode;

//建立带头结点的单链表,n项多项式
void CreateList(LNode **L, int n)
{
LNode *p;
int i = 0;

*L = (LNode *) malloc (sizeof(LNode));
(*L)->next = NULL; //先建立一个带头结点的单链表

for (i = 0; i {
p = (LNode *) malloc (sizeof(LNode)); //生成新结点
scanf("%d%d",&(p->data),&(p->flag)); //获取系数及幂次
p->next = (*L)->next; (*L)->next = p; //插入链表
}

}

void PolyoAdd(LNode **L1, LNode **L2) //多项式L1与L2对应项相加得到新的L2
{
int ck;
LNode *p,*q,*temp,*head;
p = NULL;
q = NULL;
temp = NULL;

head = (LNode *) malloc (sizeof(LNode));
head->next = NULL;

q = (*L1)->next;
while(q)
{
ck = 0;

p = (*L2)->next;
while(p)
{
if (q->flag == p->flag)
{
ck = 1;
break;
}
p = p->next;
}
if (ck == 1) //同类项合并
{
p->data += q->data;
q = q->next;
}

else //否则,直接添加到另一个多项式head
{
(*L1)->next = q->next;
q->next = NULL;
temp = q;
temp->next = head->next;
head->next = temp;
q = (*L1)->next;
}
}

if (temp) //若存在新多项式head,则连接L2和head
{
while(temp->next)
temp = temp->next;
temp->next = (*L2)->next;
(*L2) = head;
}
}

void PolyoPrint(LNode **L) //纯粹是为了打印界面
{
LNode *p;
p = (*L)->next;
printf("多项式为\t");
printf("%d*x^%d",p->data,p->flag);
p = p->next;
while(p)
{
printf("+(%d*x^%d)",p->data,p->flag);
p = p->next;
}
printf("\n");
}

void main()
{
int m=0;
LNode *p1,*p2;
p1 = NULL;
p2 = NULL;
printf("设定多项式项数:\n");
scanf("%d",&m);
printf("请输入多项式系数及对应位幂次:\n");
CreateList(&p1,m);
PolyoPrint(&p1);

printf("设定多项式项数:\n");
scanf("%d",&m);
printf("请输入多项式系数及对应位幂次:\n");
CreateList(&p2,m);
PolyoPrint(&p2);
PolyoAdd(&p1,&p2);
PolyoPrint(&p2);

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么用android编写一个电子书阅读器?在线等
什么小麦冬性和半冬性品种?
经常睡在楼梯下会做恶梦吗
高强螺栓因设备振动松动怎么办
电视机出现N0signa1该怎么办
女婿跟老丈人名字重字有啥说法吗?
鼓浪屿46 Howtel精品生活方式酒店(西门)在什
累犯.非法拘禁罪.检察院会怎样写起诉书的
李雨坤和李宇坤那个名字好
w10系统怎么查看WiFi密码?
平南丹竹高中现任校长是谁
但闻乌鸣声的但是什么意思
常吃鸡君壳对身体有害吗?
四川泸州一贝皇朝50度一瓶多少钱
同一种口味的优乐美奶茶和相约奶茶可以一起泡
推荐资讯
区块链怎么投资?想了解一下
爱在哪儿(一) 作文
许先生 日语怎么说
太阳雨净水机惠泽c和 惠泽c2 系列有什么区别?
泰康人寿鑫享人生如果我交了三年要退保的话能
T115兰州到上海的这趟火车一般晚点多少时间啊
烧烤蜜汁排骨做法有哪些
如何辨别FION 菲安妮真伪
企业业务范围及能力说明怎么写?那里能找到范
“千杯早已喝下去,都不醉”beyond是的哪首歌
矿用隔爆型潜水电泵BQS15—40—4绕组匝数多少
c语言中怎么插入数学符号 如根号,正余弦函数
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?