文档介绍:《数据结构与算法》课程实验
实验报告
题目实验一线性表的操作
学生姓名汤峰
学生学号 3902100121
专业班级软件1001班
完成日期 2011—3—18
需求分析
此实验要求我们掌握线性表的基本操作,插入、删除、查找,以及线性表合并等运算在顺序存储结构和链接存储结构上的运算。顺序存储结构指的是用数组方法,链接存储结构指的是用链表方法,并通过对两种方法基本操作的掌握,实现一元n次多项式的加法运算。
输入的形式:按照提示(比如:“请输入第一个多项式”、“请输入多项式的项数”、“请输入第n项的系数”、“请输入第n项的指数”等等),先输入多项式的项数,之后顺次输入每一项的系数与指数。
输入值的范围:项数没有要求,但不能过于巨大;系数取为float型数据,指数取为int型数据,
输出的形式:按照提示(比如:“输入的第二个多项式为”、“按降幂排列后多项式为”等等),会输出原输入的多项式和经过排序和合并之后的降幂型多项式。同时,系数会以保留小数点后两位数字的形式输出;若指数输入时为小数,则输出时会自动截取其整数部分。
程序所能达到的功能:程序可以对输入的序列紊乱的多项式进行加工,使之按照降幂排列,并合并指数相同的项,之后对两多项式进行加法运算(包括系数为负的加法),最后输出最终的多项式。
测试数据:
正确数据:
输入:5*X^2+4*X^1 和-3*X^2+2*X^0
输出:*X^2+*X^1+
错误数据:
输入:-2*X^+4*X^2 和 3*X^2+4*X^
输出:*X^2+*X^1
概要设计
主要通过数组进行储存数据,元素;
主程序中给提示建立第一个多项式,并依次调用multinomial函数bubble_sort函数,通过调用print函数输出原多项式和整理过后的新多项式。同理建立并输出第二个多项式,最后通过调用add函数,将两多项式相加,并调用bubble_sort函数进行整理,最后调用print函数输出结果多项式。
主函数部分:
int main()
{
int coefficient[20];
int coefficient1[20];
int newcoefficient[20];
int power[20];
int power1[20];
int newpower[20];
int nowpower[20];
int size,size1,num=2;
cout<<"请输入第一个多项式的项数:";
cin>>size;
multinomial(coefficient,power,size);
cout<<"降幂后排序的该多项式变为:"<<endl;
bubble_sort(power,coefficient,size);
print(coefficient,power,size);
cout<<"请输入第二个多项式的项数:";
cin>>size1;
multinomial(coefficient1,power1,size1);
cout<<"降幂后排序的该多项式变为:"<<endl;
bubble_sort(power1,coef