3 Star 0 Fork 0

yanli/ComplexCalculator

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
complex.h 1.72 KB
一键复制 编辑 原始数据 按行查看 历史
qianlikuaizaifeng_yy 提交于 2023-04-10 23:17 +08:00 . update complex.h.
/*
系统统一定义的头文件 ,可以修改
*/
// 定义复数结构体
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);
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/yyan_li/complex-calculator.git
git@gitee.com:yyan_li/complex-calculator.git
yyan_li
complex-calculator
ComplexCalculator
master

搜索帮助