代码拉取完成,页面将自动刷新
/*
系统统一定义的头文件 ,可以修改
*/
// 定义复数结构体
typedef {
double re; //实部
double im; //虚部
}complex;
complex add(complex a,complex b);
complex sub(complex a,complex b);
complex mul(complex a,complex b);
complex div(complex a,complex b);
void show(complex a ,char op,complex b,complex c); //直观显示运算式。 a op b = c
complex add(complex a,complex b)//复数加法
{
complex c;
c.re=a.re+b.re;
c.im=a.im+b.im;
return c;
}
complex sub(complex a,complex b)//复数减法
{
complex c;
c.re=a.re-b.re;
c.im=a.im-b.im;
return c;
}
complex mul(complex a,complex b)//复数乘法
{
complex c;
c.re=(a.re*b.re)-(a.im*b.im);
c.im=(a.re*b.im)+(a.im*b.re);
return c;
}
complex div(complex a,complex b)//复数除法
{
complex c;
double z=b.re*b.re+b.im*b.im;
c.re=((a.re*b.re)+(a.im*b.im))/z;
c.im=((a.re*b.im)-(a.im*b.re))/z;
return c;
}
void show(complex a,char op,complex b,complex c)//输出
{
printf("%.2f", a.re);
if(a.im>=0)
printf("+");//判断a的虚部为正数,实部后的符号为正
printf("%.2fi %c %.2f",a.im,op,b.re);
if(b.im>=0)
printf("+"); //判断b的虚部为正数,实部后的符号为正
printf("%.2fi=",b.im);
if(c.re!=0)
{
if(c.im>0)
{
printf("%.2f+%.2fi",c.re,c.im);//判断c的虚部大于0,虚部前的符号为+
}
else if(c.im==0)
{
printf("%.2f",c.re);//判断c的虚部等于0,就只有输出实部
}
else
{
printf("%.2f%.2fi",c.re,c.im);//c的虚部小于0,虚部前不用输出+
}
}
else//c的实部为0,不用输出实部
{
if(c.im==0)
{
printf("0");
}
else
{
printf("%.2fi",c.im);
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。