多项式计算
1、 问题描述
能够按照指数降序排列建立多项式;能够完成两个多项式的
相加、相减和相乘,并将结果输出。
2、 设计思路
这个程序的关键是多项式的创建和排列,以及相乘时系数相乘和
指数相加、相加时相同指数的系数相加、相减时相同指数的系数相减。
由于多项式拥有指数和系数(假设基数已定),所以可以定义一个包
含指数系数的结构体,用单链表存储多项式的数据,所以结构体包含
next 指针。数据插入时比较两数的指数,按照降序排序,从表头的 next
开始,直至找到合适的位置,然后开始链表中数值的插入,如果相等
则直接将指数相加,如果大于就将新数据插入到当前指向的前面,否
则将新数据插入到最后。输入完数据后选择计算方式(相乘、相加、
相减),多项式运算时要循环遍历整个多项式,多项式的每一组数据
都要和另一个多项式整组数据相运算(每一个运算值都存储到新建的
“多项式”链表中),直到两个多项式都遍历完结束。
3、 数据结构设计
在模拟多项式对象时,为了简化处理,只取最核心的两个数据:
多项式的系数和指数。前面提到,要用单链表操作,所以要加上个 next
指针,再由该结构体定义一个结点类型和指针类型。具体数据结构定
义如下:
typedef struct node{