博客内查看此文章效果更好


/*
编写人:naruuu
编写类型:复数类型实现
编写时间:2020 9 20
要点:有能计算复数类型的数学基础
本代码主要构建于建立结构体的基础之上利用结构体进行运算。
*/
typedef struct complex//构建复数的结构体类型(包含数部和虚部)
{float Realpart;float Imagepart;
}Complex;
void Create(Complex &c,float x,float y)//初始化
{c.Realpart=x;c.Imagepart=y;
}
float GetReal(Complex c)
{return c.Realpart;
}
float GetImage(Complex c)
{return c.Imagepart;
}
Complex Add(Complex c1,Complex c2)//加法运算
{Complex sum;sum.Realpart=c1.Realpart+c2.Realpart;sum.Imagepart=c1.Imagepart+c2.Imagepart;return sum;
}
Complex Sub(Complex c1,Complex c2)//减法运算
{Complex dif;dif.Realpart=c1.Realpart-c2.Realpart;dif.Imagepart=c1.Imagepart-c2.Imagepart;return dif;
}
Complex Mul(Complex c1,Complex c2)//乘法运算
{Complex cheng;cheng.Realpart=c1.Realpart*c2.Realpart-c1.Imagepart*c2.Imagepart;cheng.Imagepart=c1.Realpart*c2.Imagepart+c1.Imagepart*c2.Realpart;return cheng;
}
Complex Div(Complex c1,Complex c2)//除法运算
{Complex chu;chu.Realpart=(c1.Realpart*c2.Realpart+c1.Imagepart*c2.Imagepart)/(c2.Realpart*c2.Realpart+c2.Imagepart*c2.Imagepart);chu.Imagepart=(c1.Imagepart*c2.Realpart-c1.Realpart*c2.Imagepart)/(c2.Realpart*c2.Realpart+c2.Imagepart*c2.Imagepart);if((c2.Realpart*c2.Realpart+c2.Imagepart*c2.Imagepart)==0)printf("the num doesnt exist");elsereturn chu;
}
void Show(Complex c)//复数类型的表示方法
{if(c.Realpart!=0&&c.Imagepart!=0)printf("%.2f+%.2fi",c.Realpart,c.Imagepart);else if(c.Realpart!=0&&c.Imagepart==0)printf("%.2f",c.Realpart);else if(c.Realpart==0&&c.Imagepart!=0)printf("%.2fi",c.Imagepart);else if(c.Realpart==0&&c.Imagepart==0)printf("%d",0);
}
static void helpTestShow(Complex C1,Complex C2)
{Show(C1);printf("\n");Show(C2);printf("\n");printf("he:");Show(Add(C1,C2));printf("\n");printf("cha:");Show(Sub(C1,C2));printf("\n");printf("ji:");Show(Mul(C1,C2));printf("\n");printf("shang:");Show(Div(C1,C2));printf("\n\n");
}
void TestComplex()//测试代码
{Complex C1,C2;Create(C1,520,0);Create(C2,1314,0);helpTestShow(C1,C2);Create(C1,0.5,0.7);Create(C2,0.5,-0.7);helpTestShow(C1,C2);Create(C1,-8,0);Create(C2,0,10);helpTestShow(C1,C2);Create(C1,0,0);Create(C2,0,-90);helpTestShow(C1,C2);Create(C1,2,3);Create(C2,4,-9);helpTestShow(C1,C2);}
main()
{TestComplex();
}
/*测试数据结果
520.00
1314.00
he:1834.00
cha:-794.00
ji:683280.00
shang:0.400.50+0.70i
0.50+-0.70i
he:1.00
cha:1.40i
ji:0.74
shang:-0.32+0.95i-8.00
10.00i
he:-8.00+10.00i
cha:-8.00+-10.00i
ji:-80.00i
shang:0.80i0
-90.00i
he:-90.00i
cha:90.00i
ji:0
shang:02.00+3.00i
4.00+-9.00i
he:6.00+-6.00i
cha:-2.00+12.00i
ji:35.00+-6.00i
shang:-0.20+0.31i*/

【C语言】【结构体】复数类型加减乘除的实现相关推荐

  1. 结构体复数相乘c语言,复数乘法中的结构体赋值实现代码

    复数乘法中的结构体赋值实现代码 废话不多说,直接上代码 复制代码 代码如下: #include using namespace std; typedef struct { double real; d ...

  2. linux c 结构体参数,C语言结构体类型定义

    C语言结构体类型定义 结构体的定义形式如下: struct 结构体名 { 结构体成员 }: 结构体变量的定义方式有三种: 1.先定义结构体,再定义变量: eg. struct student{ cha ...

  3. ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据

    前言 本文的写作目的在于装逼,没有要产生实际价值的意思. 前几天在做编译器的项目,有一个项目团队成员一直在问我ARM汇编能不能读C语言的结构体.我心想,我这生成ARM汇编的代码是用C++写的呀,又不是 ...

  4. C语言结构体和结构体数组示例 - Win32窗口程序演示

    C语言结构体和结构体数组的使用: /* C结构体和结构体数组示例,by bobo */#include <windows.h>LRESULT CALLBACK WndProc (HWND, ...

  5. 关于c语言结构体偏移的一点思考

    注:此处只是利用了编译器的特性来计算结构体偏移 这句话就一笔带过,说得有点牵强附会.以后有时间自己再详细了解一下编译器的特性... more exceptional c++ 中文版 26页 https ...

  6. C语言结构体与联合体

    c语言结构体与联合体 结构类型定义和结构变量说明 一.结构的定义 二.结构类型变量的说明 结构变量的赋值 结构变量的初始化 结构数组 结构指针变量 其访问的一般形式为: (*结构指针变量).成员名 结 ...

  7. C语言结构体占用内存总结

    C语言结构体占用内存总结 前几天有个小朋友问了我一下,关于C语言结构体占用空间的问题.觉得以后会对小可爱有点帮助,就打算先写一下. struct Test {int a;char b;int c; } ...

  8. 深入解析JNA—模拟C语言结构体

    原帖:http://blog.csdn.net/shendl/article/details/3599849 深入解析JNA-模拟C语言结构体 前言 前几天写<JNA--JNI终结者>一文 ...

  9. c++ new一个结构体_C语言结构体,又一个纸老虎,纯干货讲解(附代码)

    来源:网络,排版整理:晓宇 微信公众号:芯片之家(ID:chiphome-dy)结构体的定义结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构.结构体和其他类型基础数 ...

  10. C语言 | 结构体数组

    C语言结构体数组概述 一个结构体变量中可以存放一组有关联的数据,如一个学生的学号.姓名.成绩等数据,如果有10个学生的数据需要参加运算,显然应该用数组,这就是结构体数组. 结构体数组与之前介绍的数值型 ...

最新文章

  1. 避免HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常
  2. 技术分享:浅谈Service Mesh在瓜子的实践
  3. utils C/C++的常用工具类
  4. poe交换机的作用和优点
  5. gvim 安装 taglist
  6. 逻辑回归预测事件发生的概率_通过逻辑回归,对信用卡申请数据使用卡方分箱法预测违约率建模...
  7. bmp转换tiff c++代码_如何用Java语言将图像转换为PDF?Spire.PDF for Java轻松搞定
  8. 转载一个程序员的游戏之路
  9. flask使用pymysql连接MySQL,生成xls文件并下载到本地
  10. 智能小车52单片机c语言,基于STC89C52单片机的智能循迹小车设计
  11. 详解pytorch fold和unfold用法
  12. Python 网络编程
  13. Maven异常:0.0.1-SNAPSHOT: Could not find artifact
  14. 大数据要学javaweb吗_纠结!Java和大数据学哪个更好?
  15. Ext组件渲染render的全过程详述
  16. LINUX | 如何开放vultr的端口
  17. 鸿蒙操作系统细节曝光,华为鸿蒙系统曝光细节,不像安卓也不像iOS,确认是华为自研!...
  18. SuperMap 许可简介
  19. 如何删除iso镜像文件?
  20. istio-code

热门文章

  1. 软件测试的系统代码,软件测试工程师管理系统代码
  2. linux系统外接硬盘_电脑主硬盘linux系统,外接硬盘win7系统.如何启动外接硬盘的win7系统?...
  3. 1193 Eason
  4. html5 indexedDB 数据库 详讲
  5. vue3:兄弟组件,跨组件传值,事件总线的通信方式(mitt / tiny-emitter)
  6. 2021年深圳房地产行业发展回顾及2022年展望:新房住宅共成交套数、面积创6年来新高,预计2022年成交量会进一步上升[图]
  7. 纯粹由数字电子器件构成的简易抢答器
  8. java 组件是什么意思_java中组件是什么意思?
  9. Katalon Recorder简介与使用
  10. 【路径规划】基于粒子群算法机器人避障路径规划matlab代码