C语言抽象数据类型实现复数的加减乘运算、输入实部虚部输出复数,输入复数输出实部虚部
运行结果
#include<stdio.h>
#include<stdlib.h> //头文件
typedef struct Complex //定义结构体类型Complex
{float real; //实部 float image; //虚部
}Complex;
Complex InitComplex(float a,float b)/*给复数的实部和虛部复制,并返回复数。*/
{Complex c;c.real=a;c.image=b;return c;
} Complex Add(Complex c1,Complex c2) //加法 {Complex sum;sum.real=c1.real+c2.real;sum.image=c1.image+c2.image;return sum;}Complex Sub(Complex c1,Complex c2) //减法
{Complex dif; dif.real=c1.real-c2.real;dif.image=c1.image-c2.image;return dif;}
Complex Mul(Complex c1,Complex c2) //乘法
{Complex product;product.real=c1.real*c2.real-c1.image*c2.image;product.image=c1.real*c2.image+c1.image*c2.real;return product;
}
float GetReal(Complex c){/*取复数实部*/return c.real;}float GetImag(Complex c){ /*取复数虚部*/return c.image;} void Print_C(Complex c){/*复数输出*/if(GetImag(c)==0.0) printf("%5.2f\n",GetReal(c));else if(GetReal(c)==0.0) printf("%5.2fi\n",GetImag(c));else printf("%5.2f+%5.2fi\n",GetReal(c),GetImag(c));}
int main(void)
{Complex z1,z2,sum,dif,pro; //z1复数1,z2复数2,sum和,dif差,pro积 float e1,e2,e3,e4; //e1、e3实部,e2、e4虚部 int a[2],b[2];//存储实部、虚部和结果printf("输入第1个复数\nz1="); //提示输入第一个复数 scanf("%f+%fi",&e1,&e2);z1=InitComplex(e1,e2);/***********提示输入复数z1,并存入变量中。*/printf("输入第2个复数\nz2=");scanf("%f+%fi",&e3,&e4);z2=InitComplex(e3,e4);/*****提示输入复数z2,并存入变量中。*/sum=Add(z1,z2);Print_C(sum); //显示求和的结果 dif=Sub(z1,z2);Print_C(dif); //显示求差的结果 pro=Mul(z1,z2);Print_C(pro); //显示求积的结果 printf("请输入第3个复数的实部和虚部:\n"); scanf("%d%d",&a[0],&b[0]);printf("您输入的复数为%d+%di\n",a[0],b[0]);printf("请输入第4个复数:\n"); scanf("%d+%di",&a[1],&b[1]);printf("第4个复数的实部是:%d\n",a[1]);printf("第4个复数的虚部是:%d\n",b[1]);}
数据结构抽象数据类型复数的运算实验一
C语言抽象数据类型实现复数的加减乘运算、输入实部虚部输出复数,输入复数输出实部虚部相关推荐
- 易语言练习笔记-大叔篇(3)-加减计算器
易语言练习笔记-大叔篇(3)-加减计算器 省约时间,直接上代码,界面设计如下: 看代码输入效果,运行效果如下: 看懂的掌声.回复.关注,感谢! 以下没时间不需要看.... 到数值( ) 调用格式: 〈 ...
- java计算10以内阶层相加的值_大班计算:10以内数加减混合运算
大班计算:10以内数加减混合运算 设计意图: 在学习利用加减法的基础上通过情境课件来学习加减混合运算.新课利用两幅生动形象的描述,展现白天鹅飞来飞去的情景,让幼儿明白飞来就是加上,飞走就是减去的意义. ...
- 每天一算法(一)——用链表实现加减乘运算
用链表实现加减乘运算 // resultW.cpp : 定义控制台应用程序的入口点. #include "F:\HU\resultW\resultW\stdafx.h" #incl ...
- 分数加减法混合计算机,分数小数加减混合运算练习题及答案.doc
分数小数加减混合运算练习题及答案 分数小数加减混合运算练习题及答案 1. 知识目标:会选择比较适合的方法进行分数,小数加减混合运算. 2. 认知目标:通过练习,使学生初步了解将未知转化为已知的数学思想 ...
- js日期加减一天_JS日期加减,日期运算代码
这篇文章主要介绍了JS日期加减,日期运算代码,需要的朋友可以参考下 一.日期减去天数等于第二个日期 function cc(dd,dadd){ //可以加上错误处理 var a = new Date( ...
- c语言抽象数据类型复数,抽象数据类型复数的实现..doc
抽象数据类型复数的实现. 石家庄经济学院 实 验 报 告 学 院: 信息工程学院 专 业: 计算机 信息工程学院计算机实验中心制 <数据结构>实验报告姓名张文楚学号409109070515 ...
- c语言写报告抽象数据类型,C语言抽象数据类型ADT
根据编程的问题匹配合适的数据类型.数据项连接构成了链表,定义了一个结构代表单独的项.设计了一些方法把一系列结构构成一个链表.本质上,我们使用C语言的功能设计了一种符合程序要求的新的数据类型.但是上述的 ...
- 用c语言实现复数的加减运算及复数的显示
#include<stdio.h> int main(void) {int a[2],b[2],c[2],d[2];//存储实部肯虚部和结果 printf("请输入第一个复数的实 ...
- 关于对C语言中数组名取地址加减等操作的一点探究
对于数组名取地址强制转换的操作 偶然在晚上学了C语言指针后网页闲逛找题时,被一个数组名取地址搞糊涂了,在自己试验加探索后我稍微悟了一点东西. 代码如下: #include<stdio.h> ...
最新文章
- 【错误记录】SeeMusic 一直卡在主界面无法使用 ( 删除 C:\Users\用户名称\AppData\LocalLow\Visual Music Design 应用信息 )
- php api数据,php API查询数据
- leetcode -eleven:Container With Most Water
- 匿名类java的说明_Java8 Lambdas与匿名类
- java-第九章-编写程序,打印如图案,要求图案的行数由用户输入.
- C 双向链表的简单排序实现
- 【转贴】mysql导入数据load data infile用法
- 做一个高一致性、高性能的Flutter动态渲染,真的很难么?
- OSPF-1-OSPF的数据库交换(4)
- 已重置默认应用设置html,win10已重置应用默认设置一直弹怎么办_win10已重置应用默认设置老是弹出解决方法...
- 限时|领取黄博士整理的人工智能数学资料
- document 对象 html文档内容
- paip.远程服务器返回错误 (417) Expectation Failed 的解决办法
- 07《基于深度学习的车标识别方法研究》学习总结
- 两端外伸梁内力计算机程序,外伸梁、不等跨连续梁的最大内力如何求解 ?
- MySQL的函数——聚合函数、数学函数、字符串函数、日期函数
- 如何在arm-linux下支持2T硬盘
- 数模转换DAC-TLC5615的说明
- java gps经纬度坐标转高德坐标_高德经纬度转普通GPS经纬度
- ESP8266-01s MQTT固件烧录