采用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字母)或下划线开头,后面可以跟任意数量的字母.数字或下 ...
随机推荐
- elasticsearch head 连接不到elasticsearch
配置好head后看到没有正常连接到elasticsearch. 重启后效果:
- mysql 外键问题
清空.删除具有外键约束的表时报ERROR 1701(42000)的解决 解决方法: 解除外键约束mysql> set foreign_key_checks=0; 删除表后添加外键约束 mysql ...
- C++_类继承4-访问控制protected
public和private来控制对类成员的访问. 还存在另外一个访问类别,这种类别用关键字protected表示.protected和private相似,在类外只能用公有类成员来访问protecte ...
- 欧拉图 欧拉回路 欧拉通路 Euler的认识 (转)
转:https://www.cnblogs.com/Ash-ly/p/5397702.html 定义: 欧拉回路:图G的一个回路,如果恰通过图G的每一条边,则该回路称为欧拉回路,具有欧拉回路的图称为欧 ...
- VBS修改本机的账号密码
On Error Resume Next strComputer = "." Set WshShell = WScript.CreateObject("WScript.S ...
- m3m4加载器的优化版m3m4-v1.1
m3m4加载器的优化版m3m4-v1.1 /* //1.以$开头的模块名,表示服务,服务只会执行一次,它可以有自己的方法.比如cookie就是一个服务 //例如:console.log("r ...
- spring IoC源码分析 (3)Resource解析
引自 spring IoC源码分析 (3)Resource解析 定义好了Resource之后,看到XmlFactoryBean的构造函数 public XmlBeanFactory(Resource ...
- Percona Mysql备份
介绍 Percona是唯一一款开源.免费的mysql热备份工具,实现了对InnoDB数据库的非阻塞式的备份.有如下优势:1.完整.快速.可靠的备份2.备份期间不打断事务执行(innodb引擎)3.备份 ...
- poi读取excel2010
package com.icss.test; import java.io.FileInputStream;import java.io.InputStream;import java.util.Ar ...
- python 爬虫系列08-同步斗图一波
一波大图来袭 import requests from lxml import etree from urllib import request import os import re def par ...