python实现复数运算_C语言实现复数运算

本文介绍了如何使用C语言进行复数运算。通过结构体封装复数的实部和虚部,并使用宏进行处理,使程序更清晰。文中给出了具体的代码实现和运行结果。
摘要由CSDN通过智能技术生成

点击上方公众号名称关注,获得更多内容

e230e0f19762d7109f8f034e615ff3ca.gif ✎ 编 者 悟 语

     换一个环境,心境可能变好,也可能会增加纷扰,在状态好的时候更适合持续。

文 章 导 读

   今天给小伙伴们介绍下用C语言如何实现复数的运算,其实很简单,但编程过程中封装一下复数,并用宏做下处理会让程序更加清晰明了,希望对小伙伴们有所帮助哈,ce54f71f2921f69eb64dcc504090b737.png

1关于复数运行

    复数有实部虚部,在程序中其实就是实部虚部的运算,复数的虚部符号i,打印时加上,或是将数据转换成字符串等方式加上字符i。

    实现时用结构封装一下,并用宏处理下复数的实部和虚部,程序结构会变得更加清晰。

2实例代码

    实际代码如下,说明在注释中了。

#include 
#include 

// 复数结构体
typedef struct 
{
     double real; 
     double imag;
 
}complex;

#define REAL(x)  (x).real
#define IMAG(x)  (x).imag 

// 函数声明
complex cpx_make(double real, double imag);

complex cpx_add(complex v1,complex v2);
complex cpx_mul(complex v1,complex v2);


int main(int argc, char *argv[]) 
{
     complex cpx1,cpx2,cpx_tmp1,cpx_tmp2;
 
     // 产生两个复数
     cpx1 = cpx_make(2,3);
     cpx2 = cpx_make(4,8);
 
     // 复数加法运算,并打印结果
     cpx_tmp1 = cpx_add(cpx1,cpx2); 
     printf("\nThe result of complex add operation is: (%.0f,%.0fi)\n",cpx_tmp1.real,cpx_tmp1.imag);
 
     // 复数乘法运算,并打印结果
     cpx_tmp2 = cpx_mul(cpx1,cpx2);
     printf("\nThe result of complex mul operation is: (%.0f,%.0fi)\n",cpx_tmp2.real,cpx_tmp2.imag);
 
     return 0;
}

/* 生成复数 */
complex cpx_make(double real, double imag)
{
     complex ret; 
 
     ret.real=real; 
     ret.imag=imag; 
 
     return ret; 
}

/* 复数加法 */ 
complex cpx_add(complex v1,complex v2)
{
 
     return cpx_make(REAL(v1) + REAL(v2),IMAG(v1) + IMAG(v2));
 
}

/* 复数乘法 */ 
complex cpx_mul(complex v1,complex v2)
{
     double a,b,c,d;
 
     a = REAL(v1);
     b = IMAG(v1);
     c = REAL(v2);
     d = IMAG(v2);
 
     return cpx_make(a*c - b*d,b*c + a*d); 
}

    运行结果如下。

ce23971e019a1980789accb2d7fceca0.png

总结

    今天给小伙伴们介绍下用C语言如何实现复数的运算的方式。后面还会有C语言相关的内容,大家敬请期待哈,34eb92624da99ae7be34fa9a06df51fb.png

    有问题可以后台留言交流,公众号18年后新申请的,文章后不支持留言功能的。

相关文章:

C语言中的进制互转与数值和字符串互转的混搭玩法

C函数如何一次返回多个值呢?试试这3种方式吧!

原来数组还可以这么玩(宏把数组玩坏了)

利用结构数组和函数指针查找法调用函数

编程意识篇——用结构存储数据以减少函数二次调用,能替代return返回值吗

malloc为什么不能在函数体外给全局变量分配内存

进化论——从函数指针到被结构封装的函数指针及参数的应用举例

专辑推荐:

Python技能专辑

C语言专辑

IDE调试专辑

软件推荐专辑

软实力专辑

Linux专辑

扫码关注我们

2d341d5fe15bad5c4280d8cfa968d9db.png

2e4368ef8a9e2b0ed59c00aca545d685.gif Game Over!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值