




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实 验 报 告学 院: 专 业: ?数据结构?实验报告姓名学号日期实验室指导教师设备编号实验题目实验1 抽象数据类型复数的实现一 实验内容实验1 抽象数据类型复数的实现二 实验目的1. 了解抽象数据类型ADT的根本概念,及描述方法。2. 通过对复数抽象数据类型ADT的实现,熟悉C语言语法及程序设计。为以后章节的学习打下根底。三 需求分析复数抽象数据类型ADT的描述及实现。 复数ADT的描述 ADT complex 数据对象:D= c1,c2 c1,c2FloatSet 数据关系:R= <c1,c2> c1, c2 D 根本操作:创立一个复数 InitComplex(); 输出一个复
2、数 OutComplex(); 求两个复数相加之和 AddComplex(); 求两个复数相减之差 SubComplex(); 求两个复数相乘之积 MulComplex(); 求两个复数的商 SComplex(); 等等; ADT complex;本实验实现使用TC2.0实现复数的描述及操作。具体实现要求:1从键盘分别输入2个复数,并可修改已输入的复数。2能输出指定的复数。3两个复数相加之和,观察输出结果。4两个复数相加之差,观察输出结果。5求两个复数相乘之积,观察输出结果。6.求两个复数的商,观察输出结果。7用户可看到如下界面: * * 1.输入复数C1 * * 2.输入复数C2 * * 3
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);操作结果:求两个
4、复数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);操作
5、结果:构造一个复数,元素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:复数的根本操作
6、的实现复数的根本操作:/构造一个复数,元素a,b分别被赋以参数vr,vi的值Status InitComplex(Complex &C, float vr, float vi) C.real = vr; C.image =vi; return OK;/输出一个复数void OutComplex(Complex C) “+“i);/求两个复数C1,C2之和,结果存入CComplex AddComplex(Complex &C,Complex C1,Complex C2); C.real = C1.real + C2.real; C.image = C1.image + C2.im
7、age; 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.r
8、eal * 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 *
9、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.输入复数C
10、2 * 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");whil
11、e(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(
12、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-
13、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");
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国钛金防火膜数据监测研究报告
- 2025-2030中国流体管行业发展趋势及发展前景研究报告
- 《新大学英语·听视说教程1》课件-Unit 4
- 2025-2030中国杀菌乳行业发展分析及发展趋势预测与投资风险研究报告
- 2025-2030中国智慧铁路行业市场发展分析及前景趋势与投资研究报告
- 2025-2030中国数码摄像机行业市场发展现状及竞争策略与投资前景研究报告
- 2025-2030中国干燥砂锅行业发展分析及发展趋势预测与投资风险研究报告
- 2025-2030中国对讲巡更系统行业发展分析及发展前景与投资研究报告
- 2025-2030中国婴儿保育室家具行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国去铁酮行业市场发展趋势与前景展望战略研究报告
- 2025年房屋租赁合同范本中介版
- (广东二模)2025年广东省高三高考模拟测试(二)语文试卷(含答案解析)
- SL631水利水电工程单元工程施工质量验收标准第3部分:地基处理与基础工程
- 新22J01 工程做法图集
- 2024年山东省济南市中考英语试题卷(含答案解析)
- 2024年建筑业10项新技术
- 2023山东春季高考数学真题(含答案)
- 中国胸痛中心建设流程及认证标准解读课件
- DB44-T 1661-2021《河道管理范围内建设项目技术规程》-(高清现行)
- 常见天线以及调整方法及规范
- 六年级品社《春天的故事》(课堂PPT)
评论
0/150
提交评论