长整数加减-实验报告(3)

2019-08-31 17:16

void DestroyList(Number *&L) //销毁链表 {

Number *p=L,*q=p->next; while(q!=NULL) { free(p); //释放p的空间 p=q; q=p->next; }

cout<<\释放链表\}

7、主程序模块

int main() {

char a,x; //定义临时字符变量 cout<<\

CreateList(number1); //调用创建长整数函数

for(;;) //过滤非“+”和“-”的字符 { cout<<\ cin>>a; x=getchar();

if(a= ='+'||a= ='-')break;

cout<<\你输入的有误!请重新输入\ }

cout<<\

CreateList(number2); //调用创建长整数函数

cout<<\

***************\

PrintList(number1); //调用输出长整数函数 cout<

PrintList(number2); //调用输出长整数函数 cout<<\

PlusList(number1,number2,a); //调用两长整数相加减的函数

cout<<\

***************\

DestroyList(number1); //调用销毁链表的函数 DestroyList(number2); //调用销毁链表的函数 return 0; }

四、调试分析

第 11 页 共 15 页

1、在创建长整数时,没有使用getchar()来接受字符,而用C++中的cin>>来输入,这样使得每一次输入之后都要按回车键,而且在输入结束时控制也不方便,使用getchar()函数解决了这一问题。

2、从键盘输数据的时候,符合要求的只有0到9,输入其他的字符就可能出错或者结果不正确,最后用了一个条件来控制滤过不符合要求的字符。

3、在加减运算过程中也遇到了很多问题。首先,遇到的问题就是if条件中的“= =”中少了一个“=”导致编译正确,但是一运行就错误,这个问题不该错的,以后一定重视每一个细节。还有就是链表的使用过程中,指针太多,一会儿指向这个,一会儿又指向那个,如果思路不清楚的话,很容易弄晕的;有时候一个指针指向空的时候根本就不知道,编译没错误,检查不出来,一运行就不正确,有时候运行正确了,但是结果却不正确,这还好点,有时候指针指向空了,运行就弹出错误要终止程序。经过一步一步的测试,一步一步的运行,花了不少时间终于弄出来了。

4、在销毁链表的时候,也遇到过一个问题,现在还没弄明白是为什么。在销毁链表的函数中,如果参数接受两个链表来销毁的话,如:void DestroyList(Number *&L1,Number *&L2),运行会出错,或许是我写的代码不正确;但是,当用void DestroyList(Number *&L)来一个链表一个链表的销毁就没问题。

五、运行结果

(1)两个长整数相加

输入:

输出:

第 12 页 共 15 页

(2)两个长整数相减

输入:

输出:

第 13 页 共 15 页

六、实验环境

(1)Windows XP系统下

(2)编程环境:VC6.0++ ,TC2.0

第 14 页 共 15 页

七、实验体会

本次实验是求两个无限长整数加减运算。由于没有限制长度所以不能用一般的整型和长整

型来声明,必须用链表或者数组来表示两个长整数,这样来求它们的加减运算。这次实验说简单也简单,说难也难,看上去就是两个长整数从低位相加,如果进位的话则前一位加一,两个长整数相减,如果被减数小于减数的话,则向前一位借一,然后把它们输出就可以了。

但是,实际上要的到完全正确的结果,编写该程序还是有点难度的,如果不仔细考虑的话

有些地方,运算的结果是不正确的。比如说,4976+67=多少,如果没仔细考虑的话4976+67=41043,而正确的结果是4976+67=5043。还有很多地方也是这样,10000 – 99=10- 101而不是9901,像这样的情况很多。通过好几天的思考与测试,基本上的问题都想到了,但是还有没有的特殊情况的,我不知道,我会继续测试了看有什么特殊的情况。

虽然花了很多天,浪费了很多精力,但是感觉还是有很大的收获,毕竟能成功的完成该项

实验,自我感觉良好,上机运行的时候,有很多人没完成,感觉自己编出来了还挺自豪的,呵呵!不过也不能骄傲,这只是一次简单的实验,没有什么,要想真正学好还得更加努力学习,以后可能会有更难的题目等待我去解决了。

第 15 页 共 15 页


长整数加减-实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:消防部队副团职干部竞聘演讲稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: