您所在位置:网站首页 > 海量文档
 > 计算机 > C/C++资料
用C语言实现的复数运算程序设计.doc5页
本文档一共被下载:次,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
电大理工2009年3月Study of Science and Engineering at RTVU.第1期总第238期{ii——一I—— I———II
用C语言实现的复数运算程序设计
王彦良王珊
辽阳职业技术学院(辽阳111000)辽宁师范大学(大连116029)
摘要利用C语言提供的自定义结构体类型。自定义了复数结构体类型,在此基础上编写出实
现对两个复数进行加,减.乘、除的程序,以及对一个复数求其模(绝对值)的程序.把关于复数类型
的定义及相应的函数放到一个新建立的头文件中,可使用预编译命令.方便用户使用..
关键词C语言函数复数程序设计
众所周知,在C语言中没有提供有关复数
运算的程序,这对于需要进行复数运算的用户来
说十分不便。而C语言中允许用户自定义结构
体类型,为解决用户进行复数运算提供了可能。
我们知道,一个复数z=2+j3是由实部2和
一个虚部3构成的,为此,我们可以这样定义一
个复数:
typedef struct
{double re;
double im;)fcomplex;
结构体类型fcomplex具有两个元素:一个是实
部re,另一个是虚部im,考虑到工程计算中有
关复数运算的实、虚部可能是带有小数的情况,
我们把实、虚部都定义成双精度实数类型。有了
上述对复数fcomplex结构类型的定义之后,我
们可以编制出实现两个复数进行加、减、乘、除
的程序。以及对一个复数求其模(绝对值)的程
序。
把两个复数zl=a+jb与z2=c+jd相加,其结
果双a+cH(b+d),因此实现两个复数相加的函数
如下:
fcomplex fadd(fcomplex zl,fcomplex z2)
{fcomplex z;
Z.re=z1.re+z2.re;
z.im=z1.im+z2.im;
return(z);}
把两个复数z1=a—b与z2=c+jd相减,其结
果r《a-c)+j(b.d),因此实现两个复数相减的函数
如下:
fcomplex fsub(fcomplex zl,fcomplex z2)
{fcomplex z;
z.re--z1.re.z2.re;
z.im=z1.im·z2.im;
return(z);}
把两个复数zl=a+jb与z2=c+jd相乘。其结
果硝州b)(州dHac-bd)+j(ad+bc),因此实现两
个复数相乘的函数如下:
fcomplex fmul(fcomplex zl,fcomplex z2)
{fcomplex z;
z.re=(z1.re·z2.re)·(z1.im·z2.ira);
z.im=(z1.re·z2.im)+(z1.im木z2.re);
return(z);,
把两个复数zl=a+jb与z2=c+jd相除。其结
果爿a+jb)/(c+jd)=((ac+bd)勺(bc.ad))/
(c*c+d*d),因此实现两个复数相乘的函数如
下:
万方数据
。54。瞧犬瑾王总第238期
fcomplex fdiv(fcomplex zl,fcomplex z2)z2=4+j6,Z3=2+j5,编制戆主溺数如下:{fcomplex z;z。re=((zl。re·z2.rO+(z1.im·垃-im))/(z2.re幸#include瘦.re+岔.1m搴z2。ira);#include
函数,事实上在C语言的“MATH.H”头文件中参考文献
提供了求平方根的溺数sqrtO,我们可以在自己酶fll李桂青,罗持久.微机C语言及其应胄1.托奈:气象i蠡敝
程序开头,使用预编译命令:#include,社,1993.
燕接调用冁蜓)丞数。然两,在下匿的程序中,猃l谭洼强.e程序设计.1基窳:蔫华大攀出叛社,1996。
我们利用藏代公式‰=饥+xly.)/2,一旦
‰l>懿,就可以近试计算出‰≈磊。医必由
疆代公式可锝到‰嘿=x/y.,而多次撼代后
Y
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:
验证码:
匿名?
发表评论