输出两个一元多项式,求所给的两个多项式之和。
此题要求用链表实现。
输入
包含两行,每行未一个一元多项式。多项式的系数ceof
为任意实数,幂exp
为整数。输入按幂从大到小次序给出,格式为coef^exp
的形式。若输入各结点的系数和幂为0^0
,表示输入结束。
如多项式40x^4+20x^2+10x+9
对应的输入为:
40^4 20^2 10^1 9^0 0^0
输出
输出求和后的多项式(不输出系数为0的项)。若某项系数为小数,则保留一位小数。若多项式之和为0,请输出0^0
。
输入示例1
40^4 20^2 10^1 9^0 0^0
30^3 20^2 10^1 1^0 0^0
输出:
40^4 30^3 40^2 20^1 10^0
输入示例2
1.5^3 1.2^2 0^0
-0.1^3 4^1 0^0
输出示例2
1.4^3 1.2^2 4^1
[程序代码]
#include<stdio.h>
#include<stdlib.h>
struct Node
{
double ceof; /* 系数 */
long exp; /* 指数 */
struct Node *next;
};
/* */
void InitHeadNode(struct Node* &, struct Node* &);
void InsertNode(struct Node* &, double, short);
void Traversal(struct Node *);
void Merge(struct Node* &, struct Node* &);
double Abs(double);
/* */
int main()
{
struct Node *head1; /* 1#链表头指针 */
struct Node *rear1; /* 1#链表尾指针 */
struct Node *head2; /*