ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:30.72KB ,
资源ID:19978546      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19978546.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整word版长整数四则运算实验报告文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整word版长整数四则运算实验报告文档格式.docx

1、(默认较长的数作为被加数、被减数)三、详细设计 typedef struct DoubleNode /定义链表元素void InitNode(DLNode *head) /初始化链表int InsertNode(DLNode *head,int n,DataType x) /向链表第N个位置插入元素X int digit(int n) /判断整数N有几位void PrintNode(DLNode *head) /打印链表 void DestroyNode(DLNode *head)/销毁链表void add(DLNode *h1,DLNode *h2) /两数相加void jian(DLNod

2、e *h1,DLNode *h2) /两数相减int main() /入口函数四、调试分析 由于在程序设计时,对于指针的不了解,编程时使用双重指针,无形中给自己增添了更多麻烦。老师在检查的过程中指出并教导了这一点。五、测试结果1、输入0和0做加法运算,输出“0”,结果如下图: 2、输入2345,6789和-7654,3211做减法运算,输出“1,0000,0000”,结果如下图:3、输入1,0000,0000,0000和9999,9999做减法运算,输出“9999,0000,0001”,结果如下图:4、输入1,0001,0001和1,0001,0001做减法运算,输出“0”,结果如下图:5、输

3、入1,1111和1,1111做减法运算,输出“0”结果如下图:六、心得体会本次实验主要是针对双向链表的练习,通过这次试验我们大家对于双向循环链表有了更深刻的记忆。另在讲解的过程中,老师指出了我们在编程中存在的不足点,我们对于指针跟双重指针有了更清晰的认识。在与同学的交流中,也更清楚的认清了 自己的不足,以后会更加努力的。七、附录#includestring.hstdlib.h #include#define N 100 typedef int DataType; typedef struct DoubleNode /定义链表元素 DataType data; struct DoubleNode

4、 *prior; struct DoubleNode *next; DLNode; void InitNode(DLNode *head) /初始化链表 if(*head=(DLNode*)malloc(sizeof(DLNode)=NULL) exit(1); (*head)-prior=*head;next=*head; int InsertNode(DLNode *head,int n,DataType x) /向链表第N个位置插入元素X DLNode *p,*nt; int i=0; p=head-next; while(p!=head&i i+; if(i!=n) printf(插入

5、位置错误n); return 0; if(nt=(DLNode *)malloc(sizeof(DLNode)=NULL) exit(1); nt-data=x; nt-prior=p-prior;prior-next=nt;next=p; p-prior=nt; return 1; int digit(int n) /判断整数N有几位 int i; for(i=1;n/=10,i+) if(n/10=0) return i; void PrintNode(DLNode *head) /打印链表 DLNode *p=head- while(p-data=0) /去掉前面的一串0 p=p- if

6、(p=head) printf(0n return;%d,p-data); /最前面的一个数进行特殊处理,不用补零 p=p- while(p!=head) /打印后面的数字 , if(p-data=0) 0000 continue; for(i=0;4-digit(p-i+) /补零 0 printf(n void DestroyNode(DLNode *head) DLNode *p,*p1; p=(*head)-=*head) p1=p; free(p1); free(p); head=NULL; DLNode *p1=h1-prior,*p2=h2-while(p1!=h1&p2!=h2

7、) /每个链表元素相加 p1-data+=p2-data ;p1=p1- p2=p2- p1=h1- while(p1!=h1-next) /处理链表元素 if(p1-data=10000) p1-data+=p1-data/10000; p1-data%=10000; if(p1-datanext!=0) p1-data-=1; p1-data+=10000; p1=p1- if(h1-next-=10000) /处理最前面的数 InsertNode(h1,0,h1-data/10000); h1- if(h1-=-10000) h1-data%=-10000; PrintNode(h1);

8、=h2) /每个链表元素相减data-=p2-p2=p2- p1=h1- if(p1-data/-10000); PrintNode(h1); DLNode *head1,*head2; InitNode(&head1);head2); char data1N,data2N; char d110,d210; int i,j,k; int xun;while(1) 输入数据:scanf(%s %s,data1,data2); InitNode(& i=0;k=0; while(data1i!=) /将数1用链表储存 for(j=0;jstrlen(data2) /较长的数作为被加数 add(head1,head2); else add(head2,head1); break; case 2:strlen(data2) /较长的数作为被减数 jian(head1,head2);else jian(head2,head1);default:break; DestroyNode(& return 0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1