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

本题要求编写程序,计算2个复数的和、差、积、商。

输入格式:

输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。

输出格式:

分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。

输入样例1:

2 3.08 -2.04 5.06

输出样例1:

(2.0+3.1i) + (-2.0+5.1i) = 8.1i
(2.0+3.1i) - (-2.0+5.1i) = 4.0-2.0i
(2.0+3.1i) * (-2.0+5.1i) = -19.7+3.8i
(2.0+3.1i) / (-2.0+5.1i) = 0.4-0.6i

输入样例2:

1 1 -1 -1.01

输出样例2:

(1.0+1.0i) + (-1.0-1.0i) = 0.0
(1.0+1.0i) - (-1.0-1.0i) = 2.0+2.0i
(1.0+1.0i) * (-1.0-1.0i) = -2.0i
(1.0+1.0i) / (-1.0-1.0i) = -1.0

#include<stdio.h>
#include<math.h>
void add (double a,double b,double c,double d);
void reduce (double a,double b,double c,double d);
void cheng (double a,double b,double c,double d);
void chu (double a,double b,double c,double d);
int main ()
{double a,b,c,d;scanf("%lf%lf%lf%lf",&a,&b,&c,&d);add(a,b,c,d);reduce(a,b,c,d);cheng(a,b,c,d);chu(a,b,c,d);return 0;
}
void add (double a,double b,double c,double d)
{if(b>=0) printf("(%.1f+%.1fi) + (",a,b);else printf("(%.1f%.1fi) + (",a,b);if(d>=0) printf("%.1f+%.1fi) = ",c,d);else printf("%.1f-%.1fi) = ",c,d);if(fabs(a+c)<0.05&&fabs(b+d)<0.05)  printf("0.0\n");else if(fabs(a+c)<0.05&&fabs(b+d)>=0.05) printf("%.1fi\n",b+d);else if(fabs(a+c)>=0.05&&fabs(b+d)<0.05) printf("%.1f\n",a+c);else {if(fabs(b+d)>0.0) printf("%.1f+%.1fi\n",a+c,b+d);else printf("%.1f%.1fi\n",a+c,b+d);}return;
}
void reduce (double a,double b,double c,double d)
{if(b>=0) printf("(%.1f+%.1fi) - (",a,b);else printf("(%.1f%.1fi) - (",a,b);if(d>=0) printf("%.1f+%.1fi) = ",c,d);else printf("%.1f-%.1fi) = ",c,d);if(fabs(a-c)<0.05&&fabs(b-d)<0.05)  printf("0.0\n");else if(fabs(a-c)<0.05&&fabs(b-d)>=0.05) printf("%.1fi\n",b-d);else if(fabs(a-c)>=0.05&&fabs(b-d)<0.05) printf("%.1f\n",a-c);else {if(b-d>0) printf("%.1f+%.1fi\n",a-c,b-d);else printf("%.1f%.1fi\n",a-c,b-d);}return;
}
void cheng (double a,double b,double c,double d)
{if(b>=0) printf("(%.1f+%.1fi) * (",a,b);else printf("(%.1f%.1fi) * (",a,b);if(d>=0) printf("%.1f+%.1fi) = ",c,d);else printf("%.1f-%.1fi) = ",c,d);if(fabs(a*c-b*d)<0.05&&fabs(a*d+c*b)<0.05) printf("0.0\n");else if(fabs(a*c-b*d)<0.05&&fabs(a*d+c*b)>=0.05) printf("%.1fi\n",a*d+b*c);else if(fabs(a*c-b*d)>=0.05&&fabs(a*d+c*b)<0.05) printf("%.1f\n",a*c-b*d);else {if(a*d+c*b<0) printf("%.1f%.1fi\n",a*c-b*d,a*d+b*c);else printf("%.1f+%.1fi\n",a*c-b*d,a*d+c*b);} return;
}
void chu (double a,double b,double c,double d)
{if(b>=0) printf("(%.1f+%.1fi) / (",a,b);else printf("(%.1f%.1fi) / (",a,b);if(d>=0) printf("%.1f+%.1fi) = ",c,d);else printf("%.1f-%.1fi) = ",c,d);if(fabs((a*c+b*d)/(c*c+d*d))<0.05&&fabs((c*b-a*d)/(c*c+d*d))<0.05) printf("0.0\n");else if(fabs((a*c+b*d)/(c*c+d*d))<0.05&&fabs((c*b-a*d)/(c*c+d*d))>=0.05) printf("%.1fi\n",(c*b-a*d)/(c*c+d*d));else if(fabs((a*c+b*d)/(c*c+d*d))>=0.05&&fabs((c*b-a*d)/(c*c+d*d))<0.05) printf("%.1f\n",(a*c+b*d)/(c*c+d*d));else {if(c*b-a*d<0) printf("%.1f%.1fi\n",(a*c+b*d)/(c*c+d*d),((c*b-a*d)/(c*c+d*d)));else printf("%.1f+%.1fi\n",(a*c+b*d)/(c*c+d*d),((c*b-a*d)/(c*c+d*d)) );} return;
}

C语言函数——复数四则运算相关推荐

  1. 【C语言】复数四则运算

    [实验目的]抽象数据类型的实现,构造抽象数据类型以及结构体,以实现复数的多种计算完成创建数据结构的基本操作的函数. [问题描述]设计一个可进行复数运算的演示程序. [基本要求]实现下列七种基本运算:1 ...

  2. 使用c语言实现复数运算的程序,用C语言实现的复数运算程序设计

    用C语言实现的复数运算程序设计 电大理工 2009年3月 Study of Science and Engineering at RTVU. 第1期 总第238期 用C语言实现的复数运算程序设计 王彦 ...

  3. 用C语言实现复数和相量的四则运算和相互转化

    在电子电路学科领域中,相量法是分析研究正弦电流电路稳定状态的一种简单易行的方法.相量法与复数有直接的联系.而在普通计算器中,一般不能对复数和相量进行直接的四则运算和相互转化,本文将介绍使用C语言编写程 ...

  4. c语言复数相加的程序,运用C语言编写复数的四则运算.docx

    .. 运用C语言编写复数的四则运算 需求分析 设计一个可进行复数运算的演示程序 实现下列六种基本运算: (1)由于输入的实部和虚部生成一个复数:(2)两个复数求和:(3)两个复数求差:(4)两个复数求 ...

  5. C语言函数大全--c开头的函数之复数篇

    C语言函数大全 c 开头的函数之复数篇 1. cabs,cabsf,cabsl 1.1 函数说明 1.2 演示示例 1.3 运行结果 2. creal,crealf,creall 2.1 函数说明 2 ...

  6. c语言进行复数的四则运算

    c语言进行复数的四则运算 额..好像没什么好说的直接上代码吧,注意下结构体的用法 #include<stdio.h> struct complex {double re;double im ...

  7. 数据结构-C语言 || 实现复数的四则运算(定义+代码)

    思路: ①首先了解复数四则运算--加.减.乘.除:以及分别对应的公式(以a+bi和c+di为例推导): 加/减法:(a+bi)±(c+di)=(a±c)+(b±d)i 乘法:(a+bi)(c+di)= ...

  8. C语言函数小练习——C语言实现加、减、乘、除四则运算

    用函数加减乘除四则运算,首先打印初始界面,然后输入要进行的算法在输入两个数据,最后给出结果. #include <stdio.h> #include <stdlib.h> // ...

  9. C语言 复数四则运算

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

最新文章

  1. 题解 P4692 【[Ynoi2016]谁的梦】
  2. yolov5论文叫什么_论文格式与论文查重到底是什么鬼?教你半小时搞定的独门技巧...
  3. usb管控软件_记账软件新外设:PUPUPULA 智能存钱罐登陆众筹
  4. golang反编译_【Golang】脱胎换骨的defer(一)
  5. javaWeb项目部署至tomcat下classes文件夹没有内容
  6. linux5.5救援模式,RHEL5救援模式简介RescueModeinRHEL5.PDF
  7. Windows系统中通过命令查看文件的MD5,SHA1,SHA256校验值
  8. 每日一题/014/三角函数/和差化积/求证:cos 2+cos 4+cos 6+...+cos 2n=sin ncos(n+1)/sin1
  9. zerotier使用教程_ZeroTier 初阶教程
  10. jquery版本安全漏洞问题
  11. Visual Studio 解决同一个项目下运行多个小程序文件问题
  12. Linux用户宝典:值得一用的5款远程桌面应用程序
  13. 网易运营微专业_用户运营
  14. Windows Server 2003 Key
  15. 数据分析_python数据可视化(基于matplotlib+pandas)
  16. Java内存模型(Java Memory Molde,JMM)
  17. 1204--Word Puzzles
  18. English语法_程度副词-作用
  19. div+css静态网页设计 网页设计实例作业 ——中国梦我的梦(3页) 学生HTML个人网页作业作品下载
  20. 2019年东南大学计算机553C++复试编程题

热门文章

  1. Linux进程中task_struct结构体
  2. 20230425-PAT甲级1169
  3. Transformations between ECEF and ENU coordinates
  4. 简单的php 后台管理系统,GitHub - luohuam/LP-ADMIN: 附带简单PHP框架的后台管理系统模板,适合新手...
  5. ADODB 入门学习基础教程[多图]
  6. python 通过ssh连接 华为云数据库RDS
  7. Fanuc数据控机床数据采集Focus2基于c#的数据采集
  8. SHS800使用记录
  9. vive pro系列 VR交互样例测试(Unity)
  10. PWA 应用 Service Worker 缓存的一些可选策略和使用场景