版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、云南大学软件学院 数据结构实验报告 实验难度: A B C 序号学号姓名成绩指导教师 (签名)学期:2017秋季学期 任课教师: 刘宇 实验题目: 组员及组长: 承担工作: 联系电话: 电子邮件: 完成提交时间:2017年10月24日一、【实验构思(Conceive)】(10%)(本部分应包括:描述实验实现的基本思路,包括所用到的离散数学、工程数学、程序设计等相关知识,对问题进行概要性地分析)实验要求制作一个复数计算器,要求能进行实数和虚数的混合运算,首先要解决的问题是复数的四则运算,确保运算正确无误。然后要解决的就是分离复数这个问题。分离复数最简单的方法就是输入复数的时候分别输入实部虚部,然
2、后打印。但这过于简单,于是采取输入一个字符串来接入这个复数,然后用数组的方法进行实部虚部的分离。用到的数学知识:复数四则运算,与或非运算,进行分支判断;程序设计知识:目标分析->设计算法->程序编写->后期调试。二、【实验设计(Design)】(20%)(本部分应包括:抽象数据类型的定义和基本操作说明,程序包含的模块以及各模块间的调用关系,关键算法伪码描述及程序流程图等,如有界面则需包括界面设计,功能说明等)抽象数据类型的定义:typedef struct Complex /构造复数结构Complex float real; /定义实部为real float imag; /定
3、义虚部为imagComplex;基本操作:功能一可以字符串形式输入一个复数,用数组的方法从字符串中分离出实部和虚部;功能二可以对输入的两个复数进行简单的加减乘除的四则运算。模块:加法函数:Complex Add(Complex z1, Complex z2)减法函数:Complex Sub(Complex z1, Complex z2)乘法函数:Complex Mul(Complex z1, Complex z2)除法函数:Complex Div(Complex z1, Complex z2)打印函数:void print_Complex(Complex z)分离实部函数:float Getr
4、eal(Complex z)分离虚部函数:float Getimag(Complex z)分离函数:void spread_Complex()算法伪码描述(分离函数):输入一个复数字符串;实部标志为flag1,虚部标志为flag2,得到flag1和flag2的取值,判断该复数是否是完整的复数,或是纯实数、纯虚数;用符号来判断一个完整的复数的实部虚部,如果判断出字符串中接收到了+或者-,则符号前面的算实部,将符号舍去,后面的即为虚部,直到遇上i。程序流程图:三、【实现(Implement)】(30%)(本部分应包括:抽象数据类型各操作的具体实现代码、 关键操作的具体算法实现、 函数实现,主程序实
5、现等,并给出关键算法的时间复杂度分析。如有界面则需包括界面的关键实现方法等。)主程序实现:打印功能选择的DOS窗口界面,输入功能选择,选择功能一调用复数分离函数,选择功能二则输入两个复数的实部和虚部,选择运算,+则调用加法函数,-号调用减法函数,*号调用乘法函数,/号调用除法函数,否则错误提示。各主要函数实现: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.re
6、al * z2.real+z1.imag*z2.imag; z.imag = z1.real * z2.imag+z1.imag*z2.real;4.除法函数:if( z2.real = 0 && z2.imag = 0) printf("ERROR! z2 is 0!n");/判断除数是否为零system("pause");exit(0); else z.real = (z1.real*z2.real-z1.imag*z2.imag)/(z1.real*z1.real-z1.imag*z1.imag); z.imag = (z1.ima
7、g*z2.real-z1.real*z2.imag)/(z1.real*z1.real-z1.imag*z1.imag);5.分离函数:void spread_Complex()char fushu20 = '0' , real10 = '0' , imag10 = '0' ;int i = 0, j = 0, n = 0, k = 0, flag1 = 0, flag2 = 0;printf("请输入一个复数字符串:");getchar();gets(fushu);while (fushun = ' ')n+
8、;if (fushun >= '0' && fushun <= '9' | fushun = '-' | fushun = '+')reali = fushun; /*把第一个字符处理掉*/i+;n+;for (k = i; k<20; k+)if (fushuk = '+' | fushuk = '-')/判断是否为完整复数flag1+;else if (fushuk = 'i') /*判断是否为纯实数*/flag2+;if (flag2 >
9、 1)printf("ERROR!");system("pause");exit(0);else if (flag2 = 0) /*判断为纯实数*/printf("该复数实部为%sn", fushu);printf("该复数虚部为0n");system("pause");exit(0);else if (flag1 = 0) /*判断为纯虚数*/imagj = real0;j+;for (; fushun != 'i' j+)if (fushun>'0' &
10、amp;& fushun <= '9' | fushun = '.' | fushun = ' ')if (fushun = ' ')n+;j-;continue;imagj = fushun;n+;elseprintf("nERROR!n");system("pause");exit(0);imagj = 'i'printf("该复数实部为0n");printf("该复数虚部为%sn", imag);system(&qu
11、ot;pause");exit(0);if (flag1 = 1) /判断为完整复数for (; fushun != '+' && fushun != '-' i+)if (fushun>'0' && fushun <= '9' | fushun = '.' | fushun = ' ')if (fushun = ' ')n+;i-;continue;reali = fushun;n+;elseprintf("nERRO
12、R!n");system("pause");exit(0);if (fushun = '-') /*负号算在虚部*/imagj = fushun;j+;n+;else if (fushun = '+') /*加号舍去*/n+;for (; fushun != 'i' j+)if (fushun>'0' && fushun <= '9' | fushun = '.' | fushun = ' ')if (fushun =
13、9; ')n+;j-;continue;imagj = fushun;n+;elseprintf("nERROR!n");system("pause");exit(0);imagj = 'i'printf("该复数实部为%sn", real);printf("该复数虚部为%sn", imag);system("pause");exit(0);printf("ERROR!n");system("pause");exit(0);printf("ERROR!n");system("pause");exit(0);时间复杂度分析:四、【测试结果(Testing)】(10%)(本部分应包括:对实验的测试结果,应具体列出每次测试所输入的数据以及输出的数据,并对测试结果进行分析,可附截图)程序初始界面:第一个功能实现:第二个功能实现(输入的第一个复数均是9-4i;第二个复数均是-1-3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年伊吾县中小学幼儿园教师招聘考试参考题库及答案解析
- 2026年郸城县社区工作者招聘考试参考题库及答案解析
- 2026年易县医疗事业单位人员招聘笔试备考试题及答案解析
- 2026年阜新蒙古族自治县医疗事业单位人员招聘考试模拟试题及答案解析
- 2026年易县医疗事业单位人员招聘考试备考试题及答案解析
- 2026年南丰县社区工作者招聘考试模拟试题及答案解析
- 2026年费县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年和顺县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年滦南县带编教师招聘考试模拟试题及答案解析
- 2026年围场满族蒙古族自治县医疗事业单位人员招聘考试备考试题及答案解析
- 2026版煤矿安全生产标准化一级考核评分表国家矿山安全监察局 煤矿安全生产标准化基本要求及评分方法专用评分表
- 2026年秋季小学统编版道德与法治二年级上册(新教材)教学计划含教学进度表
- 2026年秋季开学初中开学第一课(安全教育)课件
- 湖北省黄冈市2026年春季高一年级期末考试化学试题
- MT/T 1310-2025煤矿井下架空乘人装置安装调试技术要求
- RF 32001-2025 人民防空防护设备(防护门类)通 用技术标准
- 2026年特种作业操作证(高压电工作业)理论考试题及答案
- 八年级开学家长会课件
- 2026年公务员经济测试卷【真题汇编】附答案详解
- 2026年脑出血的护理常规课件
- 物流公司月度运营分析报告模板
评论
0/150
提交评论