- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
复数运算的演示程序
【实验题目】
实验1. 抽象数据类型.
【问题描述】
用C或C++语言设计并实现一个可进行复数运算的演示程序。
【基本要求】
1.由输入的实部和虚部生成一个复数
2.两个复数求和
3.两个复数求差
4.两个复数求积
【实现提示】
定义复数为由两个相互之间存在次序关系的实数构成的抽象数据类型,则可以利用实数的操作来实现复数的操作。
(下面的内容由学生填写,格式统一为,字体: 楷体, 行距: 固定行距18,字号: 小四)
一、【实验构思(Conceive)】(10%)
(本部分应包括:描述实验实现的基本思路,包括所用到的离散数学、工程数学、程序设计、算法等相关知识)
复数由实部和虚部构成,可以通过一个含有两个元素的结构体来实现复数的表示,并且通过接受用户的输入,可以实现复数的生成。对于复数的四则运算,可以编写四个函数,通过函数的调用来实现相应的运算。
加减法:(a + bi)±(c + di)=(a ± c )+(b ± d)i
乘法:(a + bi)*(c + di)=(ac - bd)+(ad + bc)i
除法:
二、【实验设计(Design)】(15%)
(本部分应包括:抽象数据类型的功能规格说明、主程序模块、各子程序模块的伪码说明,主程序模块与各子程序模块间的调用关系)
功能:能够显示和构造复数,并且能进行复数的加减乘除运算。
主程序模块:
void main()
{
float a,b,c,d;
fushu f1,f2,plu,min,mul;
printf(请按实部虚部的顺序依次输入两个复数:);
scanf(%f%f%f%f,a,b,c,d);
getfushu (f1,a,b); /*调用getfushu函数,构造复数f1*/
getfushu (f2,c,d); /*调用getfushu函数,构造复数f2*/
printf(\n您输入的第一个复数是:);
printfushu (f1);
printf(\n您输入的第二个复数是:);
printfushu (f2);
plusfushu (plu,f1,f2); /*调用plusfushu函数,使复数f1,f2相加*/
printf(\n相加结果为:);
printfushu (plu);
minusfushu (min,f1,f2); /*调用minuscomplex函数,使复数f1,f2相减*/
printf(\n相减结果为:);
printfushu (min);
multifushu (mul,f1,f2); /*调用multifushu函数,使f1,f2相乘*/
printf(\n相乘结果为:);
printfushu (mul);
printf(\n);
}
子程序模块:
void getfushu (fushu f,float a,float b); /*构造复数*/
void plusfushu (fushu plu, fushu f1, fushu f2); /*实现复数的相加*/
void minusfushu (fushu min, fushu f1, fushu f2); /*实现复数的相减*/
void multifushu (fushu mul, fushu f1, fushu f2); /*实现复数的相乘*/
void printfushu (fushu f); /*显示复数*/
三、【实现描述(Implement)】(25%)
(本部分应包括:抽象数据类型具体实现的函数原型说明、 关键操作实现的伪码算法、 函数设计、函数间的调用关系,关键的程序流程图等,给出关键算法的时间复杂度分析。)
void getfushu (fushu f,float a,float b);
通过接受两个数据来构造一个复数f,其中a为复数的实部,b为复数的虚部。
void plusfushu (fushu plu, fushu f1, fushu f2);
接收两个复数,并对其进行加法运算,将运算结果保存在plu里。
void minusfushu (fushu min, fushu f1, fushu f2);
对复数f1,f2进行减法运算,并将运算结果保存在min里。
void multifushu (fushu mul, fushu f1, fushu f2);
对复数f1,f2进行乘法运算,并将运算结果保存在mul里。
void printfushu (fushu f);
将复数f显示出来。
四、【测试结果(Testing)】(20%)
(本部分应包括:对实验的测试结果,应具体列出每次测试所输入的数据以及输出的数据,并对测试结果进行分析总结)
测试一:输入的两个复数分别为3
您可能关注的文档
- 读《致教师》有感-胡志永.ppt
- 读书笔记心得体会分享.ppt
- 读书卡封面三张.doc
- 读书主题班会教学教案——毛文婷.ppt
- 非接触式测温原理 .ppt
- 短语结构类型.ppt
- 对“课后检测”的理解.doc
- 非人力资源HR经理的人力资源HR管理培训讲解.ppt
- 对困难家庭幼儿入园收费减免措施.doc
- 肺癌化疗临床路径.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)