在C语言环境下实现复数运算

在C语言环境下实现复数运算(中)要求:编程实现复数的乘、除及乘幂运算。用程序包含形式实现。包括功能分析文档、程序框图、程序说明文档等。具有可扩充性。... 在C语言环境下实现复数运算(中)要求:编程实现复数的乘、除及乘幂运算。用程序包含形式实现。包括功能分析文档、程序框图、程序说明文档等。具有可扩充性。 展开
 我来答
L_o_o_n_i_e
2008-07-08 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5264万
展开全部
知道了公式,自己写应当没困难。

乘法:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i

void ChenFa(float a,float b,float c,float d,float *e,float *f){
*e = a*c-b*d;
*f = a*d+b*c;
}

除法:(a+bi)/(c+di)=((ac+bd)/(c*c+d*d))+((bc-ad)/(c*c+d*d))i

void ChuFa(float a,float b,float c,float d,float *e,float *f){
if ( c*c + d*d == 0.0 ){printf("FenMu 0.0");exit(1);};
*e = (a*c+b*d)/(c*c+d*d);
*f = (b*c-a*d)/(c*c+d*d);
}

乘幂: z=x+iy; |z|=r; theta=atan(y/x)
z^n=r^n*exp(n*theta*i);

#include <math.h>
void zpower(float x, float y, int n, float *u, float *v)
{
float theta;
int i;
z= sqrt(x*x + y* y);
theta = atan(y/x);
*u = z;
for (i=1;i<n;i++) *u = *u * z;
*v = n * theta;
}

除法:
z1=r1(cos(tita1)+i*sin(tita1))
z2=r2(cos(tita2) + i *sin(tita2))
z1/z2= r1/r2 [cos(thita1-thita2) + i * sin(thita1-thita2);
自己写吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式