900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 使用c语言实现复数运算的程序 用C语言实现的复数运算程序设计

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

时间:2022-04-18 03:41:42

相关推荐

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

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

电大理工

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),因此实现两个复数相乘的函数如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。