多项式加法c语言编程_C语言实现复数运算

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

be371b42e37887c625b885d926976445.gif ✎ 编 者 悟 语

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

文 章 导 读

   今天给小伙伴们介绍下用C语言如何实现复数的运算,其实很简单,但编程过程中封装一下复数,并用宏做下处理会让程序更加清晰明了,希望对小伙伴们有所帮助哈,3ab7a2b0ecdbc8994d9bfb0d24ca3240.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); 
}

    运行结果如下。

dc3a3ab8072d71a490ff62325eaecca3.png

总结

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

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

相关文章:

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

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

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

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

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

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

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

专辑推荐:

Python技能专辑

C语言专辑

IDE调试专辑

软件推荐专辑

软实力专辑

Linux专辑

扫码关注我们

4395a125021ba519096c7211a13d2a15.png

0d42dbfe84d7f5181b2f60162696c300.gif Game Over!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值