欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《数据结构》实验报告抽象数据类型复数的实现.doc

    • 资源ID:88144263       资源大小:89KB        全文页数:12页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《数据结构》实验报告抽象数据类型复数的实现.doc

    实 验 报 告学 院: 信息工程学院 专 业: 计算机 信息工程学院计算机实验中心制数据结构实验报告姓名学号日期 7-8节实验室计算机基础实验室指导教师张有华设备编号实验题目实验1 抽象数据类型复数的实现一 实验内容实验1 抽象数据类型复数的实现二 实验目的1. 了解抽象数据类型(ADT)的基本概念,及描述方法。2. 通过对复数抽象数据类型ADT的实现,熟悉C语言语法及程序设计。为以后章节的学习打下基础。三 需求分析复数抽象数据类型ADT的描述及实现。 复数ADT的描述 ADT complex 数据对象:D= c1,c2 c1,c2FloatSet 数据关系:R= <c1,c2> c1, c2 D 基本操作:创建一个复数 InitComplex(); 输出一个复数 OutComplex(); 求两个复数相加之和 AddComplex(); 求两个复数相减之差 SubComplex(); 求两个复数相乘之积 MulComplex(); 求两个复数的商 SComplex(); 等等; ADT complex;本实验实现使用TC2.0实现复数的描述及操作。具体实现要求:1从键盘分别输入2个复数,并可修改已输入的复数。2能输出指定的复数。3两个复数相加之和,观察输出结果。4两个复数相加之差,观察输出结果。5求两个复数相乘之积,观察输出结果。6.求两个复数的商,观察输出结果。7用户可看到如下界面: * * 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>|a,b D 基本操作:InitComplex(&C,vr,vi);操作结果:构造一个复数,元素a,b分别被赋以参数vr,vi的值。OutComplex(C);操作结果:输出一个复数。AddComplex(&C,C1,C2);操作结果:求两个复数C1,C2之和,结果存入C。SubComplex(&C,C1,C2); 操作结果:求两个复数C1,C2之差,结果存入C。MulComplex(&C,C1,C2); 操作结果:求两个复数C1,C2的积,结果存入C。 ADT Complex步骤2:复数的存储结构及相关操作的声明。复数的存储结构#include <stdio.h>#include <stdlib.h>typedef struct Complexfloat real;float image;Complex;基本操作的声明:Status InitComplex(&C,vr,vi);操作结果:构造一个复数,元素a,b分别被赋以参数vr,vi的值。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的值Status InitComplex(Complex &C, float vr, float vi) C.real = vr; C.image =vi; return OK;/输出一个复数void OutComplex(Complex C) eal“+”“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之差,结果存入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; 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 "stdafx.h"#include "Complex0515.h"#include "user.h"int 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");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.InitComplex(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 7: c.MulComplex(C,c1,c2); /求两个复数的积 printf("C1*C2="); c.OutComplex(C); break; case 8:Complex(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;运行结果:开始定义变量 CComplex0515 C;Complex C1,C2,CAdd,CSub,CMul;实现各种复数运算的算法打印出来结束步骤五:实验总结1. 通过本次实验,基本掌握抽象数据类型的定义方法及要求;2. 基本掌握C语言程序设计的规范操作流程;3. 编程过程中有些地方考虑不全面,程序不够健壮,;

    注意事项

    本文(《数据结构》实验报告抽象数据类型复数的实现.doc)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开