user-0 提问: 问一个一元多项式计算器的加减问题，，

回复:
user: user-0
content: 引用 12 楼 lm_whales 的回复:抱歉，第一种方案是 ： 一种方案，不管某一项系数，是否为零，都存储该项，不存储任何指数， 项数 =  最高项的指数 + 1 各项按照升序，或者降序存储。 同次项顺次相加，相减。 如果是项数少的减多的，那么较长的多项式，高次项，直接取相反数。其他项顺序相减     an x^n + .... + am x^m      +....+ a1     x    + a0 +)                 bm x^m      +....+ b1     x    + b0  ---------------------------------------------------------         an x^n+.......+ (am+bm) x^m +.....(a1+b1) x +(a0+b0) ================================================================    an x^n + .... + am x^m      +....+ a1     x    + a0 -)                 bm x^m      +....+ b1     x    + b0  ---------------------------------------------------------        an x^n+.......+ (am-bm) x^m +.....(a1-b1) x +(a0-b0)  ===============================================================                    am x^m      +....+ a1     x    + a0 -) bn x^n+.......+ bm x^m      +....+ b1     x    + b0  ---------------------------------------------------------        -bn x^n+.......+(am-bm) x^m +.....+(a1-b1) x +(a0-b0)  另一种方案，同时存储指数和系数 如果存储时候已经排序，病合并同类项， 那么可以顺序比较指数，相同者系数相加，相减。  如果减数指数较高，减数中，没有和被减数相减的项，系数取为相反数，作为差的同一指数的项 计算中，结果为零的项，直接删除。 谢谢，这个问题我解决了～～给你好评～

user: user-1
content: 抱歉，第一种方案是 ： 一种方案，不管某一项系数，是否为零，都存储该项，不存储任何指数， 项数 =  最高项的指数 + 1 各项按照升序，或者降序存储。 同次项顺次相加，相减。 如果是项数少的减多的，那么较长的多项式，高次项，直接取相反数。其他项顺序相减     an x^n + .... + am x^m      +....+ a1     x    + a0 +)                 bm x^m      +....+ b1     x    + b0  ---------------------------------------------------------         an x^n+.......+ (am+bm) x^m +.....(a1+b1) x +(a0+b0) ================================================================    an x^n + .... + am x^m      +....+ a1     x    + a0 -)                 bm x^m      +....+ b1     x    + b0  ---------------------------------------------------------        an x^n+.......+ (am-bm) x^m +.....(a1-b1) x +(a0-b0)  ===============================================================                    am x^m      +....+ a1     x    + a0 -) bn x^n+.......+ bm x^m      +....+ b1     x    + b0  ---------------------------------------------------------        -bn x^n+.......+(am-bm) x^m +.....+(a1-b1) x +(a0-b0)  另一种方案，同时存储指数和系数 如果存储时候已经排序，病合并同类项， 那么可以顺序比较指数，相同者系数相加，相减。  如果减数指数较高，减数中，没有和被减数相减的项，系数取为相反数，作为差的同一指数的项 计算中，结果为零的项，直接删除。

user: user-1
content: 你好像，没有比较指数，指数相同才可以相加。 一种方案，不过某一项指数是否为零，都存储该项，不存储指数， 最高项的指数 = 项数 + 1  此时只要最高项指数相同，就可以顺序相加，否则  低次项相加就行了，高次项，只有一个多项式有，就不相加了。只要找到较长多项式， 中指数，等于，另一个多项式，最高指数的那一项，就可以了顺次相加了。 这可以通过比较项数，和简单的移动指针，得到。  另一种方案，同时存储指数和系数 如果存储时候已经排序，病合并同类项， 那么可以顺序比较指数，相同者系数相加。

user: user-1
content: 这有两个方法 1）直接用加法做减法 A+B =A - (-B); 需要定义 -B 这个操作，把每项系数改成相反数 2）定义减法，一切都和加法相同，加号改成减号即可。 即加法的：  q->coef=q->coef + p->coef;  改成减法的： q->coef = q->coef - p->coef;

user: user-2
content: 引用 4 楼 u012794099 的回复:[quote=引用 3 楼 lm_whales 的回复:] 减法不就是加法么？ 方法视一样的 就是我只在里面看到 q->coef=q->coef+p->coef; 这个指数相加的操作，那么减法的操作呢，而且加法做完之后，它已经把p给释放掉了，而p存储的是相加之后的结果，那pq相减的操作怎么完成？[/quote] 系数可以是负数的，你可以输入-1，-2。。。。

user: user-0
content: 引用 2 楼 Benjaminzhou93 的回复:我的思路: 用数组存储更方便 1.初始化全为0 2.下标代表幂 3.计算 我不是问怎么写程序，而是这个程序我又不太懂得地方，想问一问。

user: user-0
content: 引用 3 楼 lm_whales 的回复:减法不就是加法么？ 方法视一样的 就是我只在里面看到 q->coef=q->coef+p->coef; 这个指数相加的操作，那么减法的操作呢，而且加法做完之后，它已经把p给释放掉了，而p存储的是相加之后的结果，那pq相减的操作怎么完成？

user: user-0
content: 引用 7 楼 lm_whales 的回复:这有两个方法 1）直接用加法做减法 A+B =A - (-B); 需要定义 -B 这个操作，把每项系数改成相反数 2）定义减法，一切都和加法相同，加号改成减号即可。 即加法的：  q->coef=q->coef + p->coef;  改成减法的： q->coef = q->coef - p->coef; 我的程序运行结果是这样子的

user: user-0
content: 引用 6 楼 Benjaminzhou93 的回复:[quote=引用 4 楼 u012794099 的回复:] [quote=引用 3 楼 lm_whales 的回复:] 减法不就是加法么？ 方法视一样的 就是我只在里面看到 q->coef=q->coef+p->coef; 这个指数相加的操作，那么减法的操作呢，而且加法做完之后，它已经把p给释放掉了，而p存储的是相加之后的结果，那pq相减的操作怎么完成？[/quote] 系数可以是负数的，你可以输入-1，-2。。。。[/quote] ..我问的是我的题目中的源程序的代码怎么实现的，。。。运行之后加法答案和减法答案都可以同时得到。

user: user-0
content: 引用 7 楼 lm_whales 的回复:这有两个方法 1）直接用加法做减法 A+B =A - (-B); 需要定义 -B 这个操作，把每项系数改成相反数 2）定义减法，一切都和加法相同，加号改成减号即可。 即加法的：  q->coef=q->coef + p->coef;  改成减法的： q->coef = q->coef - p->coef; 我想问的是，我这个程序里面没有减法这个代码，但是当程序运行的时候却会出来减法，就是输入俩个多项式ha，ha然后enter他就会有加之后的答案和减之后的答案，，，，能给我解释一下他是怎么做到的吗，就是我问题中的原程序。。

user: user-1
content: 减法不就是加法么？ 方法视一样的

user: user-2
content: 我的思路: 用数组存储更方便 1.初始化全为0 2.下标代表幂 3.计算

user: user-2
content: 如果给几个输入输出例子，那将更好理解