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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数据结构课程设计汇总Word文档下载推荐.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计汇总Word文档下载推荐.docx

1、为此,需要定义一个抽象数据类型。 1. 抽象数据类型定义为:16 / 1 ADT OrderedList 数据对象:D=ai|aiint,i=1,2,.n, n0 基本操作: init(&a,digit4) 操作结果:构造一个位数是digit4*4长整数。pass(&a,&b,&c) 初始条件:a,b,c都已存在 c等于a和b的和。 nep(&a) a已存在。a变为输入参数的相反数。 printlong(&初始条件:按四位一组,分隔符为?的格式,在屏幕上输出a。ston(&S,&a) 初始条件:把字符串形式的长数字赋给a。 ADT OrderedList 2.本程序包含两个模块: 1)主程序模

2、块: Void main() 选择操作:1:帮助。2:加法。3:减法。/ 2 4:乘法。5:除法。6:退出。 打印结果; 三、详细设计 1.元素类型,结点类型,指针类型 #define NULL 0 #includestdlib.hconio.htypedef struct longnode /*每个节点的结构*/ int num; /*数字*/ /* 指向低一位节点*/ struct longnode *low1;struct longnode *high1; /*指向高一位节点*/ longnode;typedef struct xlong /*每个长整数的结构*/ /*每个长整数的最高节

3、点*/ longnode *High;/*每个长整数的最低节点*/ longnode *Low;int digit4; /*每个长整数的总位数(不包括高位的0)/4 */ *xlong;int init(xlong *a,int digit4) / 3 int I; /*.init.*/ longnode *j;(*a)=(xlong)malloc(sizeof(struct xlong);/*为a的头结构申请空间,并赋初始值 */ (*a)High=NULL;(*a)-Low=NULL; (*a)-digit4=0;for(i=0;inum=0;high1=NULL; j-low1=(*a)

4、-High;if(*a)-High) (*a)-High-high1=j;else Low=j;High=j;digit4+;int pass(xlong a,xlong b,xlong c) int cf=0; /* 两个数字的相加 */ longnode *a1=a-Low,*b1=b-Low,*c1=c-Low;while(a1)c1-num=a1-num+b1-num+cf; if(c1-num9999) / 4 cf=1; /* 如果产生进位(借位) */ c1-num-=10000; elsecf=0;a1=a1-high1;b1=b1-c1=c1-return cf; /* 最高

5、位的进位(借位) */ int passa(xlong a,xlong b,xlong c) */ /* 两个数字的相减 int cf=0; longnode *a1=a-num-b1-num-cf; 借位if(c1-9999)cf=1;/* 如果产生进位() */ c1- ) */ (最高位的进位/* return cf; 借位 int passb(xlong a,xlong b,xlong c) */ 两个数字的相乘int cf=0;/* longnode *a1=a-/ 5 num*b1-num*cf;9999) cf=1;num=10000;int passc(xlong a,xlon

6、g b,xlong c) */ int cf=0;/* 两个数字的相除 while(a1) c1-num/b1-num/cf; else cf=0; return cf;*/ 的相反数求 /* nep(xlong a) a/* 因为求相反数是取反加一,所以这里int cf=1; cf=1; */ / 6 while(a1) a1-num=9999-(a1-num)+cf;if(a1-9999) a1-elsecf=0;a1=a1- return;printlong(xlong a) a */ longnode *i=a-/* 打印长整数 if(i-=5000) */ 表示负数,即用补码表示pr

7、intf(-); /* 最高位(bit)=1 */ /* 求反打印其绝对值 nep(a); while(i&i-num=0) i=i-low1; /* 跳过最位的0 */ if(i)printf(%d,i-num); i=i-);”“,if(i) printf( else printf(“0 */ 打 0”); /* a=0 while(i)printf(d,i- if(i-low1) printf(,);i=i- / 7 int ston(char in,xlong out) /* 把字符串转化为数字赋给a */ int bit,i,jishu=1,num0=0;longnode *j=ou

8、t-i=strlen(in)-1;while(i=0 & j) /* 循环每一个字节 */ bit=ini-0;/* 把字符形式的值赋给整数形式的bit */ if(bit bit 1&(jishu=10000|bit9) /* 数字以外的字符 */ num=num0;j=j- /* 存入一个节点 */ num0=0; jishu=1;i-;if(num0) j-/* 把最后一个没存入节点的数存入节点 for(;j;high1) j- /* 最位不足补0 */ if(out-=5000) return 1; /* 如果最高位是1,返回1表示出*/ if(in0=-) nep(out); /*

9、如果最后一个字符是则取反 */ return 0;/ 8 int add() char *a1,*b1; /*加*/ int digit4,cf=0;xlong a,b,c; do printf(How much digits do you need?/* 输入最多位数*/ scanf(%d,&digit4);while(digit4=0); a1=(char*)malloc(digit4+1); b1=(char*)malloc(digit4+1); digit4=digit4/4+1;a,digit4);init(&b,digit4);c,digit4); /* 初始化a,b,c */ do cf=0; printf(Enter 2 number:n);scanf(%s,a1);printf(+n);scanf(%s,b1);cf|=ston(a1,a);cf|=ston(b1,b); */ ,如果转换出错,则重输 输入被加数和加

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

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