采用C/C++语言如何实现复数抽象数据类型Complex
记录一下!
采用C/C++语言如何实现复数抽象数据类型Complex
#include <stdio.h> typedef struct Complex
{
double e1; // 实部
double e2; // 虚部 }COMPLEX; // 函数声明
COMPLEX AssignComplex(double v1, double v2);
void DestroyComplex(COMPLEX pc);
double GetReal(COMPLEX pc);
double GetImag(COMPLEX pc);
COMPLEX Add(COMPLEX z1, COMPLEX z2); int main(void)
{
double v1 = 2.0, v2 = 3.0;
double v3 = 5.0, v4 = 8.5;
COMPLEX sum;
COMPLEX pc1 = AssignComplex(v1, v2);
COMPLEX pc2 = AssignComplex(v3, v4); printf("第一个复数的实部为:%e, 虚部为:%e\n", GetReal(pc1), GetImag(pc1)); sum = Add(pc1, pc2);
printf("复数pc1与pc2之和的实部为:%e,虚部为:%e\n", sum.e1, sum.e2);
return ;
} COMPLEX AssignComplex(double v1, double v2)
{
COMPLEX pc;
pc.e1 = v1;
pc.e2 = v2;
return pc;
}
void DestroyComplex(COMPLEX pc)
{
// 销毁复数
}
double GetReal(COMPLEX pc)
{
double real = pc.e1;
return real;
} double GetImag(COMPLEX pc)
{
double imag = pc.e2;
return imag;
}
COMPLEX Add(COMPLEX z1, COMPLEX z2)
{
COMPLEX sum;
double z1_e1, z2_e1;
double z1_e2, z2_e2; z1_e1 = z1.e1;
z2_e1 = z2.e1; z1_e2 = z1.e2;
z2_e2 = z2.e2; sum.e1 = z1_e1 + z2_e1;
sum.e2 = z1_e2 + z2_e2; return sum;
}
采用C/C++语言如何实现复数抽象数据类型Complex的更多相关文章
- C语言泛型编程--抽象数据类型
一.数据类型: 在任何编程语言中,数据类型作为一个整体,ANSI-C包含的类型为:int.double.char……,程序员很少满意语言本身提供的数据类型,一个简单的办法就是构造类似:array.st ...
- C语言抽象数据类型ADT
根据编程的问题匹配合适的数据类型.数据项连接构成了链表,定义了一个结构代表单独的项.设计了一些方法把一系列结构构成一个链表.本质上,我们使用C语言的功能设计了一种符合程序要求的新的数据类型.但是上述的 ...
- 数据结构 集合_集合(数学)抽象数据类型的C语言实现
链表是实现集合的一种理想的方式.将List以typedef的方式重命名为Set.这样做能保留链表简洁的特性,还能使集合具有了一些多态的特性. 使用这种方法的最大好处就是可以使用list_next来遍历 ...
- 集合抽象数据类型的C语言实现
链表是实现集合的一种理想的方式.将List以typedef的方式重命名为Set.这样做能保留链表简洁的特性,还能使集合具有了一些多态的特性. 使用这种方法的最大好处就是可以使用list_next来遍历 ...
- ORACLE抽象数据类型
ORACLE抽象数据类型 *抽象数据类型*/1,抽象数据类型 概念包含一个或多个子类型的数据类型不局限于ORACLE的标准数据类型可以用于其他数据类型中 2,创建抽象数据类型 的语法(必须用NOT F ...
- 【Python&数据结构】 抽象数据类型 Python类机制和异常
这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Pyt ...
- DS博客作业01--日期抽象数据类型设计与实现
1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2 学习体会 这次博客园和大作业是我在编程学习中的有意义的进步,第一次尝试使用vs,并且通过同学的一些网站的推荐,和热心同学的帮忙,简单学会 ...
- DS博客作业01--日期抽象数据类型
1.思维导图及学习体会(2分) 1.1第一章绪论知识点思维导图 1.2学习体会 从暑假看视频到开学的预习,我感觉数据结构与c语言比起来更加抽象,更加难理解,那些概念也只能理解一些字面意思,对时间复杂度 ...
- go语言入门(2)数据类型
1,命名 Go语言中的函数名.变量名.常量名.类型名.语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母.数字或下 ...
随机推荐
- 加载 xib 文件 UIView
记在 UIView 的 xib 文件方式有一下几种: 一 .直接加载 xib 文件, 没有.h.m 文件 1. NSBundle 方式 NSArray *objs = [[NSBundle mainB ...
- 最近闲着利用QQ协议写了一个聊天器
最近闲着,把以前一个利用QQ协议写了的聊天器找出来玩,采用的是QQ比较稳定的协议,之前听说有人用WEB协议,或是安卓版QQ协议,都不太稳定.而我这个版的已经有好几年没动了.今天找出来依旧能登陆.获取好 ...
- P3345 [ZJOI2015]幻想乡战略游戏
传送门 考虑先随便找一个点作为根,然后再慢慢移动根,这样一步步走到最优的点 设 $sum[x]$ 表示节点 $x$ 的子树的军队数,$len(x,y)$ 表示 $x,y$ 之间边的长度 那么对于根节点 ...
- ZOJ - 3624
当A连向C,B连向D时存在相交路径 #include<bits/stdc++.h> #define rep(i,j,k) for(int i=j;i<=k;i++) #define ...
- Advanced Data Structures in competitive programming
1.bit #define isOn(S, j) (S & (1 << j)) #define setBit(S, j) (S |= (1 << j)) #define ...
- [转] Angular 4.0 内置指令全攻略
[From] https://segmentfault.com/a/1190000010416792 简书链接 在这篇文章中,我们将分别列举每一个内置指令的用法,并提供一个例子作为演示.尽量用最少最简 ...
- [转] Nook Glowlight Plus入门指南(Root及相关软件设置)
[From] http://www.dakang.info/nook-glowlight-plus-root/ 本文仅仅是对大神 xukong及众多热心Hper帖子的一个汇总,稍作个人补充,方便查询, ...
- G: 又见模法师
G: 又见模法师 Time Limit: 1 s Memory Limit: 128 MB #include <stdio.h> ; typedef long lo ...
- Js与标签属性
关于在JS中设置标签属性 2017-10-09 23:04 by 清风221, 12790 阅读, 0 评论, 收藏, 编辑 Attribute 该属性主要是用来在标签行内样式,添加.删除.获取属性. ...
- js的apply和call
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...