[问题描述]
能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输出;
[基本要求]
以链式存储结构实现多项式。
#include<iostream>
using namespace std;
typedef struct LNode
{
struct LNode *next;
int xnum;
int znum;
}LNode, *LinkList;
void InitList(LinkList &L)//初始化
{
L = new LNode;
L->next = NULL;
}
void CreatList(LinkList &L)
{
LNode *q = new LNode;
q = L;
int x, z;
while (cout << "分别输入每一项系数和指数(系数为0时结束):"&&cin >> x&&x != 0 && cin >> z)
{
LNode *p = new LNode;
p->next = NULL;
p->xnum = x;
p->znum = z;
q->next = p;
q = p;
}
}
void PrintList(LinkList L)
{
LNode *q = new LNode;
q = L->next;
while (q != NULL)
{
if (q->xnum > 0)
cout << "+";
cout << q->xnum << "x" << "^" << q->znum << " ";
q = q->next;
}
cout << endl;
}
void Add(LinkList L1, LinkList L2)
{
LinkList L3;
L3 = new LNode;
L3->next = NULL;
LNode *q1 = new LNode;
LNode *q2