c语言进行复数的四则运算
额。。好像没什么好说的直接上代码吧,注意下结构体的用法
#include<stdio.h>
struct complex
{
double re;
double im;
};
complex add(complex x,complex y);
complex sub(complex x,complex y);
complex mul(complex x,complex y);
complex div(complex x,complex y);
int main()
{
complex x={2,1},y={1,-3},z;
z=div(x,y);
printf("%lf+%lfi",z.re,z.im);
return 0;
}
complex add(complex x,complex y)
{
complex z;
z.re =x.re +y.re ;
z.im =x.im +y.im ;
return z;
}
complex sub(complex x,complex y)
{
complex z;
z.re =x.re -y.re ;
z.im =x.im -y.im ;
return z;
}
complex mul(complex x,complex y)
{
complex z;
z.re =(x.re *y.re)-(x.im *y.im ) ;
z.im =(x.re *y.im)+(x.im *y.re ) ;
return z;
}
complex div(complex x,complex y)
{
complex z;
double z0=y.re*y.re+y.im *y.im;
z.re =((x.re *y.re)+(x.im *y.im))/z0;
z.im =((x.re *y.im)-(x.im *y.re))/z0;
return z;
}