用C语言实现的复数运算程序设计

电大理工

2009年3月 Study of Science and Engineering at RTVU. 第1期 总第238期

用C语言实现的复数运算程序设计

王彦良 王 珊

辽阳职业技术学院 ( 辽阳 111000 ) 辽宁师范大学( 大连 116029 )

摘 要 利用C语言提供的自定义结构体类型,自定义了复数结构体类型,在此基础上编写出实现对两个复数进行加、减、乘、除的程序,以及对一个复数求其模(绝对值)的程序。把关于复数类型的定义及相应的函数放到一个新建立的头文件中,可使用预编译命令,方便用户使用。

关键词 C语言 函数 复数 程序设计

众所周知,在C语言中没有提供有关复数运算的程序,这对于需要进行复数运算的用户来说十分不便。而C语言中允许用户自定义结构体类型,为解决用户进行复数运算提供了可能。

我们知道,一个复数z=2+j3是由实部2和一个虚部3构成的,为此,我们可以这样定义一个复数:

typedef struct { double re;

double im; } fcomplex;

结构体类型fcomplex 具有两个元素:一个是实部re,另一个是虚部im,考虑到工程计算中有关复数运算的实、虚部可能是带有小数的情况,我们把实、虚部都定义成双精度实数类型。有了上述对复数fcomplex 结构类型的定义之后,我们可以编制出实现两个复数进行加、减、乘、除的程序,以及对一个复数求其模(绝对值)的程序。

把两个复数z1=a+jb与z2=c+jd相加,其结果z=(a+c)+j(b+d),因此实现两个复数相加的函数如下:

fcomplex fadd( fcomplex z1,fcomplex z2) { fcomplex z;

z.re=z1.re+z2.re; z.im=z1.im+z2.im; return (z); }

把两个复数z1=a+jb与z2=c+jd相减,其结果z=(a-c)+j(b-d),因此实现两个复数相减的函数如下:

fcomplex fsub(fcomplex z1 , fcomplex z2) { fcomplex z; z.re=z1.re-z2.re; z.im=z1.im-z2.im; return (z); }

把两个复数z1=a+jb与z2=c+jd相乘,其结果z=(a+jb)(c+jd)=(ac-bd)+j(ad+bc),因此实现两个复数相乘的函数如下:

fcomplex fmul(fcomplex z1 , fcomplex z2) { fcomplex z;

z.re=(z1.re*z2.re)-(z1.im*z2.im); z.im=(z1.re*z2.im)+(z1.im*z2.re); return (z); }

把两个复数z1=a+jb与z2=c+jd相除,其结果z=(a+jb)/(c+jd)=((ac+bd)+j(bc-ad))/(c*c+d*d),因此实现两个复数相乘的函数如下:

使用c语言实现复数运算的程序,用C语言实现的复数运算程序设计相关推荐

  1. c语言复数相加的程序,运用C语言编写复数的四则运算.docx

    .. 运用C语言编写复数的四则运算 需求分析 设计一个可进行复数运算的演示程序 实现下列六种基本运算: (1)由于输入的实部和虚部生成一个复数:(2)两个复数求和:(3)两个复数求差:(4)两个复数求 ...

  2. c语言怎么让他变成程序,用C语言编了个程序,怎样让它点击“下一步”后继续弹出窗口...

    可以参考下面的代码: #include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, ...

  3. C语言实现与功能的程序,用C语言实现Ping程序功能

    2001 年 10 月 01 日 大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法.在这篇文章中,作者将介绍如何用C语言编写一个模拟ping命令功能的程序. ping命令是 ...

  4. 【C语言入门】SDUT《程序设计基础I 》实验2-选择结构程序设计题解 c语言语法讲解

    题目链接 A - C语言实验--求绝对值(选择结构) 使用if选择语句, 大于等于 0 直接输出, 小于 0 输出 -x 即可 拓展: 求绝对值的函数 <math.h>头文件下有abs() ...

  5. c语言密码锁门禁系统程序,基于C语言STC89C52单片机电子密码锁的系统设计与仿真...

    摘 要:介绍一种通过 Protues 软件成功仿真的电子密码锁的实现过程.它采用高可靠性的STC89C52单片机来实现*和密码酌识别,采用具备IC总线接田的EPROM芯片来完成密码的聋储,通过l602 ...

  6. C语言做一个表格的程序,用C语言画个简单表格

    今天见到个题目,就把他做了,题目如下: 在图形环境中很容易做出漂亮的表格.但在控制台环境中就比较困难了.有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看) +------ ...

  7. 用c语言写的电话簿的程序,用C语言散列表实现电话薄

    #用C语言散列表实现电话薄# 标题 #include#include#includetypedef struct node { char num[11],name[15],address[20],ci ...

  8. C语言杨辉三角的程序分析,C语言:打印杨辉三角

    打印出以下的杨辉三角(要求打印出十行) 1 1  1 1  2  1 1  3  3  1 1  4  6  4  1 1  5  10  10  5  1 ...... 一.分析规律: 1.每一行的 ...

  9. c语言水打印仙花数程序,最新C语言程序设计常见上机实验题目汇总(24页)-原创力文档...

    C C语言程序设计常见上机实验题目汇总 PAGE PAGE # / 229 / 22 C语言常见的上机实验题目汇总 目录 1.计算矩形的周长与面积 Ft tBEt. C ? "ITT订舁拒形 ...

最新文章

  1. 「AI在左,营销在右」互动营销创意破圈,这事儿不难
  2. arrays.sort(._Arrays.sort与Arrays.parallelSort
  3. Vim新手必看:Vim 命令图解
  4. Yaml spring boot 二维数组写法
  5. [转载] python中集合的表示_Python No.18_集合以及表示符号
  6. 「三分钟系列02」3分钟看懂最高效的快速排序分析与优化
  7. idea 安装jrebel6.4.3及破解
  8. 魔方机器人机械部分_通过强化学习解决第2部分的魔方
  9. 基于F340 实现Bridge功能(二):上位机应用程序编写
  10. 【嵌入式--伺服电机】电磁理论的基础概念
  11. What Makes a Video a Video :Analyzing Temporal Information in Video Understanding Models and Dataset
  12. 扒一扒那些叫欧拉的定理们(九)——群论观点下的欧拉公式初步
  13. 计划驱动的软件过程:waterfall model(瀑布模型,或称之为SDLC模型)
  14. linux 搭建webserver-Goahead
  15. 计算机中专综合知识,湖南省汨罗市职业中专高考(八)计算机应用专业综合知识试题讲解.doc...
  16. HTML---一个没有下划线字体颜色为黑色的链接
  17. Cisco AnyConnect Client设置默认网关(域名+IP)
  18. 专家:程序员不配叫工程师
  19. PAT(乙级)1076.Wifi密码(15)
  20. stricmp——不区分大小写比较字符串

热门文章

  1. 【第5篇】人工智能(AI)语音测试原理和实践
  2. PTA 7-24 书香节
  3. 线程竞争导致的EOFException解决 ---  一次线上问题解决流程
  4. Linux操作系统学习笔记(十)内存管理之内存映射
  5. FIT2CLOUD飞致云荣膺“2022年度OSCHINA优秀开源技术团队”奖项
  6. 网页编码与数据传递中的中文字符编码
  7. 打开电脑自带字符映射表
  8. 农村信息综合展示平台(微信网页)项目开发笔记三——朋友圈开发遇到的问题
  9. 微软官方网站下载 Visual Studio 2019 各版本
  10. 澳洲留学生论文写作必备好用软件or网站