




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实 验 报 告学 院: 信息工程学院 专 业: 计算机 信息工程学院计算机实验中心制数据结构实验报告姓名学号日期2011.3.25 7-8节实验室计算机基础实验室指导教师张有华设备编号实验题目实验1 抽象数据类型复数的实现一 实验内容实验1 抽象数据类型复数的实现二 实验目的1. 了解抽象数据类型(adt)的基本概念,及描述方法。2. 通过对复数抽象数据类型adt的实现,熟悉c语言语法及程序设计。为以后章节的学习打下基础。三 需求分析复数抽象数据类型adt的描述及实现。 复数adt的描述 adt complex 数据对象:d= c1,c2 c1,c2floatset 数据关系:r= c1, c
2、2 d 基本操作:创建一个复数 initcomplex(); 输出一个复数 outcomplex(); 求两个复数相加之和 addcomplex(); 求两个复数相减之差 subcomplex(); 求两个复数相乘之积 mulcomplex(); 求两个复数的商 scomplex(); 等等; adt complex;本实验实现使用tc2.0实现复数的描述及操作。具体实现要求:1从键盘分别输入2个复数,并可修改已输入的复数。2能输出指定的复数。3两个复数相加之和,观察输出结果。4两个复数相加之差,观察输出结果。5求两个复数相乘之积,观察输出结果。6.求两个复数的商,观察输出结果。7用户可看到如
3、下界面: * * 1.输入复数c1 * * 2.输入复数c2 * * 3.输出复数c1 * * 4.输出复数c2 * * 5.求c1和c2的和 * * 6.求c1和c2的差 * * 7.求c1和c2的积 * * 8.求c1和c2的商 * * 0.结束 * * 四 详细设计步骤1:复数的抽象数据类型的定义。adt complex 数据对象:d=a,b|a,bfloatset 数据关系:r= |a,b d 基本操作:initcomplex(&c,vr,vi);操作结果:构造一个复数,元素a,b分别被赋以参数vr,vi的值。outcomplex(c);操作结果:输出一个复数。addcomplex(&
4、c,c1,c2);操作结果:求两个复数c1,c2之和,结果存入c。subcomplex(&c,c1,c2); 操作结果:求两个复数c1,c2之差,结果存入c。mulcomplex(&c,c1,c2); 操作结果:求两个复数c1,c2的积,结果存入c。 adt complex步骤2:复数的存储结构及相关操作的声明。复数的存储结构#include #include typedef struct complexfloat real;float image;complex;基本操作的声明:status initcomplex(&c,vr,vi);操作结果:构造一个复数,元素a,b分别被赋以参数vr,v
5、i的值。void outcomplex(c);操作结果:输出一个复数。complex addcomplex(&c,c1,c2);操作结果:求两个复数c1,c2之和,结果存入c。complex subcomplex(&c,c1,c2); 操作结果:求两个复数c1,c2之差,结果存入c。complex mulcomplex(&c,c1,c2); 操作结果:求两个复数c1,c2的积,结果存入c。complex scomplex(&c,c1,c2);操作结果:求两个复数c1,c2的商,结果存入c。步骤3:复数的基本操作的实现。复数的基本操作:/构造一个复数,元素a,b分别被赋以参数vr,vi的值sta
6、tus initcomplex(complex &c, float vr, float vi) c.real = vr; c.image =vi; return ok;/输出一个复数void outcomplex(complex c) printf(c.real“+”c.image“i”);/求两个复数c1,c2之和,结果存入ccomplex addcomplex(complex &c,complex c1,complex c2); c.real = c1.real + c2.real; c.image = c1.image + c2.image; return c; /求两个复数c1,c2之
7、差,结果存入ccomplex subcomplex(complex &c,complex c1,complex c2) c.real = c1.real - c2.real; c.image = c1.image - c2.image; return c; /求两个复数c1,c2的积,结果存入ccomplex mulcomplex(complex &c,complex c1,complex c2) c.real = c1.real * c2.real + c1.image * c2.image; c.image = c1.real * c2.image + c1.image * c2.real
8、; return c; /求两个复数c1,c2的商,结果存入ccomplex scomplex(complex &c, complex c1, complex c2)c.real = (c1.real * c2.real + c1.image * c2.image)/(c2.real * c2.real + c2.image * c2.image); c.image = (c1.image * c2.real - c1.real * c2.image)/(c2.real * c2.real + c2.image * c2.image);return c;步骤4:上机编程与调试 #include
9、 stdafx.h#include complex0515.h#include user.hint main(int argc, char* argv)int flag,flag1;float cr,ci,vr,vi;complex c1,c2,c; ccomplex0506 c;printf( * n);printf( * 1.输入复数c1 * n);printf( * 2.输入复数c2 * n);printf( * 3.输出复数c1 * n);printf( * 4.输出复数c2 * n);printf( * 5.求c1和c2的和 * n);printf( * 6.求c1和c2的差 * n
10、);printf( * 7.求c1和c2的积 * n);printf( * 8.求c1和c2的商 * n); printf( * 0.结束 * n); printf( * n);while(1)printf(请输入您的选择(08):);scanf(%d,&flag);switch(flag) case 1: printf(请分别输入复数c1的实部和虚部(空格隔开):); scanf(%f %f,&vr,&vi); break; case 2: printf(请分别输入复数c2的实部和虚部(空格隔开):); scanf(%f %f,&cr,&ci); break; case 3: c.initc
11、omplex(c1,vr,vi); printf(c1=); c.outcomplex(c1); /复数的初始化 break; case 4: c.initcomplex(c2,cr,ci); printf(c2=); c.outcomplex(c2); break; case 5: c.addcomplex(c,c1,c2); /求两个复数的和 printf(c1+c2=); c.outcomplex(c); break; case 6: c.subcomplex(c,c1,c2); /求两个复数的差 printf(c1-c2=); c.outcomplex(c); break; case
12、7: c.mulcomplex(c,c1,c2); /求两个复数的积 printf(c1*c2=); c.outcomplex(c); break; case 8: c.scomplex(c,c1,c2); /求两个复数的商 printf(c1/c2=); c.outcomplex(c); break; case 0: printf(结束n); flag1=1; break; default: printf(输入不合法!n); break;/switchif(flag1=1) break;/whilereturn 0;运行结果:图1.1开始定义变量 ccomplex0515 c;complex
13、 c1,c2,cadd,csub,cmul;实现各种复数运算的算法打印出来结束步骤五:实验总结1. 通过本次实验,基本掌握抽象数据类型的定义方法及要求;2. 基本掌握c语言程序设计的规范操作流程;3. 编程过程中有些地方考虑不全面,程序不够健壮,;ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5n
14、b5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkbhtvdcooqozxuz3vjrzmocijym62zchmeootyes8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazvajnfbtrylvsm6ofbftoxvrffn7owiygjlamkunxjybz5rrb7r4vsur9zpfzfmfsjhcfca37lnw2vvlrkn7r8psz1bn6oric5hu5z6hcxayqynpog8duybawqsl20csg06dh2
15、sm8hltgpkicskrgopdpuhbj1lmpk7lydvc6nnmwl3fwhzftfvyaary7lhssxj10v3ph3y19bxyr77ib7cpzsu2tijqe3hkqkkau9kskcphkxuikvvyjzpg2yijrkqfbggovyqkuxnwi9omnjtt6qilzxtyrf7d20fbmabcfiixrqkusvnxbppfuxyq1fjskfsubkgs2duvqc9sz4jkbgn4qqv66pyoarjurnfj3txyfclzieeptwfjthpheipdfnqnr2hjqkv2dzwtmpdjqkbcxmovdsjqctjagjmdlskpga
16、d2s0h0vmzgaht36gyuez7umank1ndreubeqdgrx0venqgnsyib2ilq3siqrnl4m56t7z8y8da5k0kupn5nzg4jvjdtffhyt82aogqkxo4vblmleiy2p7hthbho07rcfttxodydppdtqso7wxd0j6fkklgm4wodzplhtrr2xgqn13hqy59zu1gegdyqnihntavsieuefqcyfucjwd3vk5i7ykmhundmiz ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyre
17、ko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5nb5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkbhtvdcooqozxuz3vjrzmocijym62zchmeootyes8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazvajnfbtrylvsm6ofbftoxvrffn7owiyg
18、jlamkunxjybz5rrb7r4vsur9zpfzfmfsjhcfca37lnw2vvlrkn7r8psz1bn6oric5hu5z6hcxayqynpog8duybawqsl20csg06dh2sm8hltgpkicskrgopdpuhbj1lmpk7lydvc6nnmwl3fwhzftfvyaary7lhssxj10v3ph3y19bxyr77ib7cpzsu2tijqe3hkqkkau9kskcphkxuikvvyjzpg2yijrkqfbggovyqkuxnwi9omnjtt6qilzxtyrf7d20fbmabcfiixrqkusvnxbppfuxyq1fjskfsubkgs2duvqc9sz4jkbgn4qqv66pyoarjurnfj3txyfclz
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省广元天立学校2025届高三下学期第2次月考物理试题含解析
- 宁夏宽口井中学石油希望校2024-2025学年初三5月统一考试化学试题含解析
- 陕西省咸阳市秦岭中学2024-2025学年初三下学期教学质量检测试题英语试题试卷含答案
- 房产交易合同补充协议
- 吉林省长春市双阳区重点达标名校2024-2025学年中考最后冲刺模拟(一)数学试题含解析
- 圆通快递服务合同
- 装饰工程公司与供应商合同
- 铁路合同运输的市场前景分析
- 医院食堂承包经营合同书
- 初中数学全等三角形 课件 2024-2025学年北师大版七年级数学下册
- 普法课件新编:2024年统计法详解
- 2024年装饰公司员工合同范本
- 患者床头抬高
- 2024-2025学年第一学期高二教学质量检测历史答案
- 2021年1月维修电工高级技师模拟试题及答案卷3
- 2024年学校采购员岗位职责(五篇)
- 药物临床试验仪器设备管理制度
- 基于深度学习的小学数学跨学科主题探究
- 2024年全国统一高考数学试卷(新高考Ⅱ)含答案
- DB65-T 4828-2024 和田玉(子料)鉴定
- 2022-2023学年北京市海淀区中关村中学八年级(下)期中数学试卷
评论
0/150
提交评论