1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 复数抽象数据类型C语言 采用C/C++语言如何实现复数抽象数据类型Complex

复数抽象数据类型C语言 采用C/C++语言如何实现复数抽象数据类型Complex

时间:2024-06-05 18:30:06

相关推荐

复数抽象数据类型C语言 采用C/C++语言如何实现复数抽象数据类型Complex

记录一下!

采用C/C++语言如何实现复数抽象数据类型Complex

#include

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语言泛型编程--抽象数据类型

一.数据类型: 在任何编程语言中,数据类型作为一个整体,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类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Pyt ...

DS博客作业01--日期抽象数据类型设计与实现

1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2 学习体会 这次博客园和大作业是我在编程学习中的有意义的进步,第一次尝试使用vs,并且通过同学的一些网站的推荐,和热心同学的帮忙,简单学会 ...

DS博客作业01--日期抽象数据类型

1.思维导图及学习体会(2分) 1.1第一章绪论知识点思维导图 1.2学习体会 从暑假看视频到开学的预习,我感觉数据结构与c语言比起来更加抽象,更加难理解,那些概念也只能理解一些字面意思,对时间复杂度 ...

go语言入门(2)数据类型

1,命名 Go语言中的函数名.变量名.常量名.类型名.语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母.数字或下 ...

随机推荐

appium常用方法整理

1.相对坐标解锁九宫格 应用场景 QQ解锁屏幕如上,可见九个按键在同一个View下面,要实现解锁,用press moveTo release perform方法 实现代码如下: WebElem ...

EntityFramework code first 一些常用的约束特性

参阅: /zh-cn/data/jj591583 1. 主键 public class Test { //名称为 ID 的属性会自动映射为主键(自增 ...

一排cell就第一个cell要点两次才响应,其他的cell都点一下就响应

一开始还以为是控件的问题,后来查了下百度,没办法谷歌不能用,结果有人说方法写错了 -(void)tableView:(UITableView *)tableView didSelectRowAtInd ...

svn: E180001: Unable to open an ra_local session to URL问题解决方案

在使用Android Studio的SVN导入项目时,出现了: svn: E180001: Unable to open an ra_local session to URLsvn: E180001: ...

mysqli和mysql和pdo查询

mysql mysql_connect($db_host, $db_user, $db_password); mysql_select_db($dn_name); $result = mysql_ ...

【转】解决Gradle DSL method not found: ‘android()’

[转]解决Gradle DSL method not found: ‘android()’ 最近导入as的项目出了这样的问题 这个问题困扰了我很长时间,好吧,搜了半天全都是runProguard的,最 ...

WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的?

原文:WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的? 服务端只有抛出FaultException异常才能被正常地序列化成Fault消息,并实现向客户 ...

P3370 【模板】字符串哈希

题目描述 如题,给定N个字符串(第i个字符串长度为Mi,字符串内包含数字.大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串. 输入输出格式 输入格式: 第一行包含一个整数N,为字符串 ...

python之__dict__与dir(转载)

Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案. __dict__与dir()的区别: dir()是一个函数,返回的是list: __di ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。