运用C语言编写复数的四则运算_第1页
运用C语言编写复数的四则运算_第2页
运用C语言编写复数的四则运算_第3页
运用C语言编写复数的四则运算_第4页
运用C语言编写复数的四则运算_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

./运用C语言编写复数的四则运算需求分析设计一个可进行复数运算的演示程序实现下列六种基本运算:〔1由于输入的实部和虚部生成一个复数;〔2两个复数求和;〔3两个复数求差;〔4两个复数求积;〔5从已知复数中分离出虚部。运算结果一相应的复数或实数的表示形式显示。3.程序执行的命令包括:a.输入数据生成一个复数b.求复数和c.求复数差d.求复数积〔1建立一个复数,然后根据提示用户输入两个复数,使得能同时进行两个复数的加.减.乘运算。输入形式和输入值得范围:分别输入两个复数,其格式为:a+bi用enter结束输入。输出形式:按程序规定输出其运算值。如:运算后只有实数时只输出实数虚部部分不表示,反之一样5.测试程序〔10,0;0,0;应输出"0"〔23.1,0;4.22,8.9;应输出"7.32+i8.9"-1.33,2.34;0.1,-6.5;应输出"-1.23-i4.16"0,9.7;-2.1,-9.7;应输出"-2.1"7.7,-8;-7.7,0;应输出"-i8"概要分析为实现上述程序的功能,需要定义一个表示复数的抽象数据类型。本程序包含的函数:〔1主函数main〔;构造函数typedefstruct〔;调用函数ComplexcreateComplex<floata,floatb>Complexadd<Complexz1,Complexz2>Complexjian<Complexz1,Complexz2>Complexcheng<Complexz1,Complexz2>voidprintComplex<Complexz>;各函数关系如下:主函数伪代码main<>{说明一个构造函数Complex;定义两个实数和虚数分别为z1,z2;提示输入实数和虚数z1,z2;调用子函数;提示输入+-*;根据输入的符号判断输入的复数做何运算{输入+时,调用加法子函数,打印输出;输入-时,调用加法子函数,打印输出;输入*时,调用加法子函数,打印输出;}}详细设计主函数及其他函数#include<stdio.h>#include<math.h>typedefstruct{ floatre; floatim;}Complex;ComplexcreateComplex<floata,floatb>//编写一个函数生成复数//{ Complexz; z.re=a; z.im=b; returnz;}voidprintComplex<Complexz>//输出复数并控制其格式//{ if<z.re==0&&z.im==0> printf<"0\n">; elseif<z.re!=0&&z.im==0> printf<"%.2f\n",z.re>; elseif<z.re==0&&z.im!=0> { if<z.im>0> printf<"i%.2f\n",z.im>; elseif<z.im<0> printf<"-i%.2f\n",fabs<z.im>>; } else { if<z.im>0> printf<"%.2f+i%.2f\n",z.re,z.im>; else printf<"%.2f-i%.2f\n",z.re,fabs<z.im>>; }}Complexadd<Complexz1,Complexz2>{ Complexz; z.re=z1.re+z2.re; z.im=z1.im+z2.im; returnz;}Complexjian<Complexz1,Complexz2>{ Complexz; z.re=z1.re-z2.re; z.im=z1.im-z2.im; returnz;}Complexcheng<Complexz1,Complexz2>{ Complexz; z.re=z1.re*z2.re-z1.im*z2.im; z.im=z1.re*z2.im+z1.im*z2.re; returnz;}main<>{ floata,b,c,d; Complexz1,z2,c1,c2,c3; printf<"请输入元素">; scanf<"%f%f%f%f",&a,&b,&c,&d>;//输入元素并调用函数生成复数z1,z2;并输出// z1=createComplex<a,b>; z2=createComplex<c,d>; printf<"产生的两个复数为:">; printComplex<z1>; printComplex<z2>; c1=add<z1,z2>; c2=jian<z1,z2>; c3=cheng<z1,z2>; printf<"这两个复数的和差积:">; printComplex<c1>; printComplex<c2>; printComplex<c3>;}调试及分析由于开始对于结构体使用并不熟悉,使用时语法错误很多,需要多加使用。编写是输入printf拼写错误〔漏掉后面的f导致该程序无法执行在使用"&&"符号是漏些了一个&符号,这点需要常记。对于声明的函数使用不熟练,在编写时对于其中的循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论