数据结构 c语言 多项式求和 谢谢大佬帮忙解答 谢谢。。。。。。。

图片说明
图片说明

输出形式8x^6+12x^5-20x^3+22x^2+10

测试出来的8x^612x^5-20x^322x^210x^0 如何改成上面的

输出错误

错误输出:
0x^2+0x^-1+

期望输出:
0

为啥不能计算最简化

printf("%dx^%d",C.data[i], -- C.last);
修改为
printf("%dx^%d+",C.data[i], -- C.last);