实验时间:9课时
实验目的
1. 熟悉编程环境,学习程序调试的方法。
2. 熟练掌握C/C++语言中指针的操作。
3. 掌握链表的常用算法。
问题描述
一元多项式可以表示为线性表,相应地一元多项式的运算可以用线性表的基本运算来实现。本实验要求以链表为存储结构,设计一个一元多项式运算器,实现一元多项式的创建、销毁、复制、打印显示、四则运算等功能。
实验内容
1. 熟悉编程环境,对文件listdebug.cpp进行调试,观察指针越界、指针非法等情况下,程序运行和调试时的表现。
2. 以链表作为一元多项式的存储结构(可以自选单链表或者双向链表,自己决定是否加入头结点、是否使用循环链表、是否设置尾指针等等),实现一元多项式运算器。
基本功能:
(1) 创建多项式;
(2) 打印显示多项式;
(3) 销毁多项式;
(4) 求两个多项式的和;
(5) 求两个多项式的差;
(6) 求两个多项式的积。
可选做的高级功能:
(1) 求两个多项式的商和余式;
(2) 求两个多项式的最大公约式和最小公倍式。
实现提示
1. 由于程序有多项功能,可采用菜单选项的方式来分别调用各项功能。
2. 销毁多项式时,要注意释放所有结点的存储空间。
3. 求两个多项式的积可分解为一系列多项式求和运算。
4. 求商和余式可分解为一系列单项式除法、乘法和减法运算。
5. 求最大公约式可采用欧几里得辗转相除法,最小公倍式可由两个多项式及其最大公约式求出。