C++实现复数加减乘除实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验 试用C语言的结构类型定义表示复数Complex的抽象数据类型。 (1)在复数内部用浮点数定义其实部与虚部; (2)设计实现复数的+、-、×、÷等运算的函数。 基本操作函数接口: InitComplex( Z, v1, v2 ):操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。 GetReal( Z, realPart ):初始条件:复数已存在。 操作结果:用realPart返回复数Z的实部值。 GetImag( Z, ImagPart ):初始条件:复数已存在。 操作结果:用ImagPart返回复数Z的虚部值。 Add( z1,z2, sum ):初始条件:z1,z2是复数。 操作结果:用sum返回两个复数z1,z2的和值。 Sub( z1,z2, residue):初始条件:z1,z2是复数。 操作结果:用res返回两个复数z1,z2的差值。 mul( z1,z2, product ):初始条件:z1,z2是复数。 操作结果:用product返回两个复数z1,z2的积。 div( z1,z2, quotient,residue):初始条件:z1,z2是复数。 操作结果:用quotient 返回两个复数z1除z2的商, 用residue返回它们的余数。 要求main函数中只能是基本的输入输出语句和函数调用语句,其运行界面如下: 其中a,b,c,d是用户从键盘上输入的实型值,分别代表两个复数的实部和虚部。 #includestdio.h //定义一个复数类 typedef struct { float realpart; float imagpart; }Complex; Complex InitComplex(float v1,float v2) //初始化 { Complex z; z.realpart=v1; z.imagpart=v2; return z; } float Getreal(Complex z) {return z.realpart; } float Getimagepart(Complex z) {return z.imagpart; } Complex Add(Complex z1,Complex z2) //实现加法运算 { z1.realpart=z1.realpart+z2.realpart; z1.imagpart=z1.imagpart+z2.imagpart; return z1; } Complex Sub(Complex z1,Complex z2) //实现减法运算 {z1.realpart=z1.realpart-z2.realpart; z1.imagpart=z1.imagpart-z2.imagpart; return z1; } Complex Mul(Complex z1,Complex z2) //实现乘法运算 {z1.realpart=z1.realpart*z2.realpart; z1.imagpart=z1.imagpart*z2.imagpart; return z1; } Complex Div(Complex z1,Complex z2) // 实现除法运算 {z1.realpart=z1.realpart/z2.realpart; z1.imagpart=z1.imagpart/z2.imagpart; return z1; } int main () { float a,b,c,d; char e; Complex z1,z2,z3; printf(please input first complex number a+bi:); //只需输入实部a,虚部b scanf(%f %f,a,b); z1= InitComplex(a,b); printf(please input the other :); scanf(%f %f,c,d); z2=InitComplex(c,d); printf(please choice operation :+,-,*,/ :); //选择运算符 getchar(); scanf(%c,e); if (e==+) //选择运算符 z3= Add( z1,z2); if(e==-) z3=Sub(z1,z2); if(e==*) z3=Mul(z1,z2); if(e==/) z3=Div(z1, z2); printf(%f+%fi,z3.realpart,z3.imagpart);

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档