【实验目的】抽象数据类型的实现,构造抽象数据类型以及结构体,以实现复数的多种计算完成创建数据结构的基本操作的函数。

【问题描述】设计一个可进行复数运算的演示程序。

【基本要求】实现下列七种基本运算:1)由输入的实部和虚部生成一个复数;2)复数的显示;3)两个复数求和;4)两个复数求差;5)两个复数求积;6)从已知复数中分离出实部;7)从已知复数中分离出虚部。


一、结果

二、代码

#include<stdio.h>
typedef struct
{float real;float imag;
}complex;
void show(complex x)
{if (x.real != 0){if (x.imag > 0)printf("%.2f+i%.2f\n", x.real, x.imag);elseif (x.imag == 0)printf("%.2f\n", x.real);else{x.imag = -x.imag;printf("%.2f-i%.2f\n", x.real, x.imag);}}else{if (x.imag > 0)printf("i%.2f\n", x.imag);elseif (x.imag == 0)printf("%.2f\n", x.real);else{x.imag = -x.imag;printf("-i%.2f\n", x.imag);}}
}
void add(complex x, complex y)
{complex sum;sum.real = x.real + y.real;sum.imag = x.imag + y.imag;show(sum);
}
void minus(complex x, complex y)
{complex sub;sub.real = x.real - y.real;sub.imag = x.imag - y.imag;show(sub);
}
void multi(complex x, complex y)
{complex mul;mul.real = x.real * y.real - x.imag * y.imag;mul.imag = x.real * y.imag + x.imag * y.real;show(mul);
}
float separate_real(complex x)
{return x.real;
}
float separate_imag(complex x)
{return x.imag;
}
int main()
{int i;complex a, b;printf("需要输入复数个数(1或2):");scanf_s("%d", &i);if (i == 1) {printf("实部、虚部分别输入:");scanf_s("%f%f", &a.real, &a.imag);printf("\n显示:a=");show(a);}else {printf("(1)分别输入两个复数的实部和虚部:");scanf_s("%f%f%f%f", &a.real, &a.imag, &b.real, &b.imag);printf("\n(2)显示:a=");show(a);printf("b=");show(b);printf("\n(3)和:a+b=");add(a, b);printf("\n(4)差:a-b=");minus(a, b);printf("b-a=");minus(b, a);printf("\n(5)乘积:a*b=");multi(a, b);printf("(6)实部:a.real=%.2f,b.real=%.2f", separate_real(a), separate_real(b));printf("\n(7)虚部:a.imag=%.2f,b.imag=%.2f", separate_imag(a), separate_imag(b));return 0;}
}

【C语言】复数四则运算相关推荐

  1. C语言 复数四则运算

    复数四则运算 题目描述: 要求编写程序,计算2个复数的和.差.积.商. 输入格式: 输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部.题目保证 ...

  2. c语言复数的log运算法则,谁知道c语言复数四则运算?

    复数的四则运算规定为: (a+bi)+(c+di)=(a+c)+(b+d)i, (a+bi)-(c+di)=(a-c)+(b-d)i, (a+bi)?(c+di)=(ac-bd)+(bc+ad)i, ...

  3. C语言函数——复数四则运算

    C语言函数--复数四则运算 本题要求编写程序,计算2个复数的和.差.积.商. 输入格式: 输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部.题 ...

  4. 7-3 复数四则运算 C语言

    7-3 复数四则运算 本题要求编写程序,计算2个复数的和.差.积.商. 输入格式: 输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部.题目保证 ...

  5. c语言复数的运算实验报告,C语言复数的运算实验报告.doc

    C语言复数的运算实验报告 实验报告 题目:复数的四则运算 班级: 13信管 姓名:白浩然 学号:201340403034 完成日期:2014.05.21 一.需求分析 1.本演示程序中复数由两个相互之 ...

  6. 数据结构 实验一:1.复数四则运算;2.百钱买百鸡

    数据结构 实验一:1.复数四则运算:2.百钱买百鸡 一.实验目的 通过本实验的学习,复习C语言编程并认识数据结构,练习对程序进行简单的算法分析,为后续的数据结构实现及算法性能分析奠定基础. 二.实验内 ...

  7. python【蓝桥杯vip练习题库】ADV-120 6-17复数四则运算

    试题 算法提高 6-17复数四则运算 资源限制 时间限制:1.0s 内存限制:512.0MB 设计复数库,实现基本的复数加减乘除运算. 输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分 ...

  8. 复数四则运算 (15 分)

    7-76 复数四则运算 (15 分) 本题要求编写程序,计算2个复数的和.差.积.商. 输入格式: 输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部 ...

  9. 7-36 复数四则运算 (15 分)【简化版】

    7-36 复数四则运算 (15 分) 本题要求编写程序,计算2个复数的和.差.积.商. 输入格式: 输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部 ...

  10. 复数四则运算(Web)

    界面如下图所示 输入界面 <%@ page language="java" contentType="text/html; charset=UTF-8"p ...

最新文章

  1. 图解LSTM与GRU单元的各个公式和区别
  2. Microsoft Azure Express Route (专线直连)到云端数据中心(2)
  3. xen 虚拟机挂了,宿主机假死的问题追终,全思路
  4. 【Linux】一步一步学Linux——chmod命令(110)
  5. C++ vector用法
  6. python封装介绍_谈python3的封装
  7. 用VC写Assembly代码(5) --函数调用(一)
  8. 如何查找 MySQL配置文件 my.ini (my.conf)的位置(案例篇)
  9. 垃圾分类:人机搭配,干活不累
  10. [ 转载 ] Java基础12--基础学习总结——数组
  11. Win2008 R2 VDI动手实验系列之三:远程桌面会话主机配置
  12. HDU 2088 Box of Bricks
  13. 修改chrome中HTML元素,自由更改网页中的任何内容:Hack this page
  14. 泰山OFFICE适配龙芯新架构(loongarch64)UOS初步完成
  15. Windows环境CMake安装教程
  16. 登录图片滑动验证实现
  17. Windows中的NTUSER.DAT文件是什么?
  18. 《平衡掌控者 游戏数值战斗设计》学习笔记(一)游戏研发概要
  19. 为什么没写Feedsky话题广告
  20. css第八课:文本属性(字体,颜色属性)

热门文章

  1. 嵌入式Linux——oops:根据oops信息,找到错误的产生位置以及函数的调用关系
  2. 知道车架号,vin想查询车辆维修和出险记录,以上 JavaScript 代码可以通过 HTML 代码来调用
  3. 假如地球毁灭了 人类文明数据如何存储?
  4. 同相比造句_对比造句_造句大全
  5. 【小f的刷题笔记】(JS)阶乘 - 阶乘后的零 LeetCode172 阶乘函数后K个零 LeetCode793
  6. Hibernate实战——Generated注解
  7. opencv学习_11 (模板匹配(包括单模板和多模板))
  8. 任务11:“数码管”的静态显示和动态显示
  9. SharePoint 2010 主题
  10. 服务启动报错 RedisCommandExecutionException: READONLY You can‘t write against a read only replica.