云南大学软件学院数据结构实验

云南大学软件学院数据结构实验

ID:26467015

大小:279.00 KB

页数:8页

时间:2018-11-27

云南大学软件学院数据结构实验_第1页
云南大学软件学院数据结构实验_第2页
云南大学软件学院数据结构实验_第3页
云南大学软件学院数据结构实验_第4页
云南大学软件学院数据结构实验_第5页
资源描述:

《云南大学软件学院数据结构实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、专业资料整理分享云南大学软件学院数据结构实验报告实验难度:A□B□C□序号学号姓名成绩指导教师(签名)学  期:  2017秋季学期任课教师:  刘宇  实验题目:组员及组长:   承担工作:   联系电话:      电子邮件: 完成提交时间:2017年10月24日 完美WORD格式编辑专业资料整理分享一、【实验构思(Conceive)】(10%)(本部分应包括:描述实验实现的基本思路,包括所用到的离散数学、工程数学、程序设计等相关知识,对问题进行概要性地分析)实验要求制作一个复数计算器,要求能进行实数和虚数的混合运算,首先要

2、解决的问题是复数的四则运算,确保运算正确无误。然后要解决的就是分离复数这个问题。分离复数最简单的方法就是输入复数的时候分别输入实部虚部,然后打印。但这过于简单,于是采取输入一个字符串来接入这个复数,然后用数组的方法进行实部虚部的分离。用到的数学知识:复数四则运算,与或非运算,进行分支判断;程序设计知识:目标分析->设计算法->程序编写->后期调试。二、【实验设计(Design)】(20%)(本部分应包括:抽象数据类型的定义和基本操作说明,程序包含的模块以及各模块间的调用关系,关键算法伪码描述及程序流程图等,如有界面则需包括界面设

3、计,功能说明等)抽象数据类型的定义:typedefstructComplex//构造复数结构Complex{floatreal;//定义实部为realfloatimag;//定义虚部为imag}Complex;基本操作:功能一可以字符串形式输入一个复数,用数组的方法从字符串中分离出实部和虚部;功能二可以对输入的两个复数进行简单的加减乘除的四则运算。模块:加法函数:ComplexAdd(Complexz1,Complexz2)减法函数:ComplexSub(Complexz1,Complexz2)乘法函数:ComplexMul(C

4、omplexz1,Complexz2)除法函数:ComplexDiv(Complexz1,Complexz2)打印函数:voidprint_Complex(Complexz)分离实部函数:floatGetreal(Complexz)分离虚部函数:floatGetimag(Complexz)分离函数:voidspread_Complex()算法伪码描述(分离函数):输入一个复数字符串;实部标志为flag1,虚部标志为flag2,得到flag1和flag2的取值,判断该复数是否是完整的复数,或是纯实数、纯虚数;完美WORD格式编辑专

5、业资料整理分享用符号来判断一个完整的复数的实部虚部,如果判断出字符串中接收到了‘+’或者‘-’,则符号前面的算实部,将符号舍去,后面的即为虚部,直到遇上‘i’。程序流程图:三、【实现(Implement)】(30%)(本部分应包括:抽象数据类型各操作的具体实现代码、关键操作的具体算法实现、函数实现,主程序实现等,并给出关键算法的时间复杂度分析。如有界面则需包括界面的关键实现方法等。)主程序实现:打印功能选择的DOS窗口界面,输入功能选择,选择功能一调用复数分离函数,选择功能二则输入两个复数的实部和虚部,选择运算,+则调用加法函数

6、,-号调用减法函数,*号调用乘法函数,/号调用除法函数,否则错误提示。各主要函数实现:1.加法函数:z.real=z1.real+z2.real;z.imag=z1.imag+z2.imag;2.减法函数:z.real=z1.real-z2.real;z.imag=z1.imag-z2.imag;3.乘法函数:z.real=z1.real*z2.real+z1.imag*z2.imag;z.imag=z1.real*z2.imag+z1.imag*z2.real;完美WORD格式编辑专业资料整理分享4.除法函数:if(z2.re

7、al==0&&z2.imag==0){printf("ERROR!z2is0!");//判断除数是否为零system("pause");exit(0);}elsez.real=(z1.real*z2.real-z1.imag*z2.imag)/(z1.real*z1.real-z1.imag*z1.imag);z.imag=(z1.imag*z2.real-z1.real*z2.imag)/(z1.real*z1.real-z1.imag*z1.imag);5.分离函数:voidspread_Complex(){charfu

8、shu[20]={''},real[10]={''},imag[10]={''};inti=0,j=0,n=0,k=0,flag1=0,flag2=0;printf("请输入一个复数字符串:");getchar();gets(fushu);while

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。