欢迎来到天天文库
浏览记录
ID:25035621
大小:493.50 KB
页数:12页
时间:2018-11-17
《多项式运算实训报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、信息工程学院数据结构实训报告题目:多项式基本运算学号:14090323姓名:卫哲君班级:强化3班12目录一、目的概述。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3二、实验(设计)仪器设备和材料清单。。。。。。。。。。。。。。。。。。3三、项目分析和设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3四、项目关键代码。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4五、项目调试和运行。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10六、实训
2、设计的心得体会。。。。。。。。。。。。。。。。。。。。。。。。。。。。。1212数据结构实训设计报告一、目的概述我这次实训的项目主要是多项式基本运算系统,多项式基本运算系统主要实现的是多项式的相加相减相乘和赋值计算。这次实训的项目主要通过C语言来实现程序的运行,主要通过C语言中的函数调用和链表来做程序,还要用到许多小的知识点,例如:用冒泡法实现排序;scanf、printf语句;while()语句实现循环;if……else语句实现选择……等等。二、实验(设计)仪器设备和材料清单1.硬件:PC机2.软件:turboc2.0,visulac++
3、6.0三、项目分析和设计这个项目的程序可分为几个板块来做,每个板块有每个板块的作用,通过不同程序的不同作用相互调用即可实现整个程序的运行,这个项目程序主要可以分为以下几个板块:1、定义头文件:运用#include,#include头文件2、定义链表:运用typedefstructNODE{多项式项数和系数和指数信息……}变量名表列;3、对调用函数进行声明:根据所写程序对有些函数进行声明,例如:intInitpolyn(polynomial*P);在程序中实现的是构造一个多项式链表P。4、主函数:Void
4、main()为主函数,在主函数中通过while语句和switch……case语句或者printf语句进行选择和函数调用。Voidmain(){while()……{switch()……}}5、菜单函数:主要用printf语句输出菜单函数,并且还通过主函数调用菜单函数实现对多项式操作的选择。126、输入多项式的信息:定义函数为intorderinsertpolyn(polynomial*P,Node*e)Node*e为链表指针,在此函数中,通过指针的移动实现多项式信息的输入。7、输出多项式:定义函数为intoutputpolyn(polynom
5、ialP)主要运用printf语句输出多项式的信息,并用while语句输入系数指数信息。9、插入信息并排序:定义函数为intorderinsertpolyn(polynomial*P,Node*e)在此函数中,利用指针传递进行输入信息,再调用排序函数指数从小到大排列再保存链表,最后还要返回一个值到主函数main().10、多项式相加相间减思想:一个多项式存一个链表相加时指数相同的系数相加相减结果存放在第一个链表中,实现相加函数:intaddpolyn(polynomial*pa,polynomial*pb)实现相减函数:intsubpoly
6、n(polynomial*pa,polynomial*pb)10、多项式相乘思想:采用两个循环使每个项都两两相乘函数:intmultipolyn(polynomialpa,polynomialpb,polynomial*pc)这个程序大体的设计便是如此,它包含了我们学过的许多知识,运用了许多重要的内容,总体分析即是如此。四、项目关键代码#include#include#defineOVERFLOW-1#defineok1typedefstructNode{floatcoef;intexp;structN
7、ode*next;}Node,*polynomial;polynomialP,pa,pb,pc;Node*p,*q,*e,*s;intInitpolyn(polynomial*P){(*P)=(Node*)malloc(sizeof(Node));if(!(*P))returnOVERFLOW;(*P)->next=NULL;returnok;}//构造一个多项式链表P12intorderinsertpolyn(polynomial*P,Node*e){floatsum;if(!(*P))returnOVERFLOW;p=(*P);q=(*
8、P)->next;while(q){if(q->expexp){p=q;q=q->next;}elseif(q->exp==e->exp){sum=q->coef+e->
此文档下载收益归作者所有