资源描述:
《[计算机软件及应用]课程设计实验报告长整型数四则运算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据结构实验报告题目:长整型数四则运算学院计算机学院专业软件工程年级班别2010级1班成绩____________________2012年7月1日目录课程设计实验报告1一、实验概要-1-二、实验目的-1-三、实验环境-1-四、抽象数据类型的定义-1-五、存储结构的定义-2-六、算法设计-3-六、程序运行情况-16-七、实验总结-18-实验中遇到的问题:-18-实验总结:-19-八、思考题-19-题目:长整型数四则运算一、实验概要1、设计一个实现任意长的整数进行四则运算的程序。2、输入和输出形式是按中国对于长整数的表示习
2、惯,每四位一组,组间用逗号隔开,长整数位数没有上限,以分号结束长整型数据的输入。3、程序执行的命令包括:1)、输入长整数1;2)、输入长整数2;3)、输入执行的运算符;4)、计算并输出结果;5)、结束。4、测试数据:(以加法为例)(1)、0;0;+;应输出“0”。(2)、-2345,6789;-7654,3211;+;应输出“-1,0000,0000”。(3)、-9999,9999;1,0000,0000,0000;+;应输出“9999,0000,0001”.(4)、1,0001,0001;-1,0001,0001;+;
3、应输出“0”.(5)、1,0001,0001;-1,0001,0000;+;应输出“1”。(6)、-9999,9999,9999;-9999,9999,9999;+;应输出“-1,9999,9999,9998”.(7)1,0000,9999,9999;1;+;应输出“1,0001,0000,0000”.二、实验目的输入和输出形式是按中国对于长整数的表示习惯,每四位一组,组间用逗号隔开,长整数位数没有上限,以分号结束长整型数据的输入,进行计算三、实验环境VisualC++6.0四、抽象数据类型的定义1、双向循环链表的数据结
4、构及操作定义如下:typedefshortElemType;//定义基本数据类型,我们采用short来表示任意4位整数。typedefstructDuCiLinkNode{//双向循环链表结点的存储结构ElemTypedata;structDuCiLinkNode*prior;//指向上一结点structDuCiLinkNode*next;//指向下一结点}DuCiLinkNode,*DuCiLinkList;//定义双向循环链表结点及链表的类型名基本操作:DuCiLinkNode*MakeNode(ElemTypee)
5、;//以4位整数e构造1个双向循环链表结点StatusInitList(DuCiLinkList*L);//初始化1个双向循环链表,分配1个结点作头结点//数据域赋初值0,上下结点指针指向自己voidDestroyList(DuCiLinkList*L);//消毁1个双向循环链表,释放它所占用的所有内存空间第-36-页共40页//并让链表*L指向NULLvoidClearList(DuCiLinkListL);//清除1个双向循环链表,释放数据结点所占用的内存空间//保留头结点,并将数据域置为0,上下结点指针指向自己St
6、atusInsTail(DuCiLinkListL,ElemTypee);//在双向循环链表L的尾结点之后加入1个以e为//数据域的新结点,并返回OK;否则返回ERROR。StatusInsFirst(DuCiLinkListL,ElemTypee);//将数据元素e插入在线性链表L头结点之后,并返回OK;否则返回ERROR。StatusCopyList(DuCiLinkListL,DuCiLinkListC);//将双向循环链表L复制到双向循环链表C中。1、长整数的数据类型和和操作定义为:typedefstructDu
7、CiLinkNodeLongIntNode,*LongInt;//采用双向循环链表为实际的存储结构voidadd(LongIntc,LongInta,LongIntb);//长整型数c=a+bvoidsub(LongIntc,LongInta,LongIntb);//长整型数c=a-bStatusmul(LongIntc,LongInta,LongIntb);//长整型数c=a*bvoiddiv(LongIntc,LongInta,LongIntb);//长整型数c=a/b(整除)voidfactorial(LongIn
8、tc,LongInta);//长整型数c=a!(阶乘)voidpower(LongIntc,LongInta,intn);//长整型数c=a^n(乘方)CStringLongInttoCString(LongInta);//将LongInt型数a转化成CStringLongIntCStringtoLongInt(CS