02-線性結構2 一元多項式的乘法與加法運算 (20 分)
設計函式分別求兩個一元多項式的乘積與和。
輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。零多項式應輸出0 0
。
4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1
5 20 -4 4 -5 2 9 1 -2 0
#include #include #include using namespace std;
typedef struct lnode
lnode, *linkedlist;
linkedlist read()
return l;
}void insert_proper(linkedlist l, linkedlist p) //乘完得到乙個值,就把它有序且合併同型別地插入到煉表裡
else if (r->next->expon == p->expon)
else
break;
} else
}if (!(r->next)&&(!isinsert))//頭結點之後插入和鏈尾插入
//因為情況類似r->next都是null 所以寫在一塊
//return l;
}linkedlist add(linkedlist l1, linkedlist l2)
else if (p1->expon < p2->expon)
else if (p1->expon == p2->expon) //指數相等也分了係數和是否為0兩種情況!
else
}r->next = s;
r = s;
} if (p1 != null)
else if (p2 != null)
return l;
}linkedlist multi(linkedlist l1, linkedlist l2)
p1 = p1->next;
} return l;
}void print(linkedlist l)
lnode *p = l->next;
while (p)
p = p->next;
} printf("\n");
}int main(int argc, char const *argv)
思考的時候想到了這種思路:乙個l1的點乘完所有l2的點得到乙個鍊錶,然後l1的第二個點乘完l2所有的點得到另乙個鍊錶,利用add函式對兩個鍊錶進行排序整合。當時以為不能實現,實際可以:
#include #include typedef int elementtype;
typedef struct node *ptrtonode;
struct node ;
typedef ptrtonode list;
list read();
void print(list l);
list add(list l1, list l2);
list multi(list l1, list l2);
list multibynode(list l1, struct node l2);
int main()
list read()
} return head;}
void print(list l)
else
else
p = p->next;
} }}
list add(list l1, list l2)
else if (t1->expon < t2->expon)
else if (t1->expon == t2->expon)
else
} }//剩下的項直接掛上去
if (t1 == null)
else if (t2 == null)
return head;}
list multi(list l1, list l2)
l->next = temp->next;
} return head;
}list multibynode(list l1, struct node l2)
return head;
}
02 線性結構2 一元多項式的乘法與加法運算
02 線性結構2 一元多項式的乘法與加法運算 20 分 設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零...
02 線性結構2 一元多項式的乘法與加法運算
設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。...
02 線性結構2 一元多項式的乘法與加法運算
設計函式分別求兩個一元多項式的乘積與和。輸入分2行,每行分別先給出多項式非零項的個數,再以指數遞降方式輸入乙個多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出分2行,分別以指數遞降方式輸出乘積多項式以及和多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。...