本题要求编写程序,计算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 <iostream>
#include <algorithm>
#include <string>
#include <map>
#include <queue>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <vector>
#include <set>
using namespace std;
const int minn=1e-;
double trans(double n){
double zhi;
if(n->=minn)
zhi=(int)(n*+0.5)/10.0;
else zhi=(int)(n*-0.5)/10.0;
return zhi;
} void printff(double a,double b,double c,double d,char s){
printf("(%.1f",a);
if(b>=) printf("+");
printf("%.1fi)",b);
printf(" %c ",s);
printf("(%.1f",c);
if(d>=) printf("+");
printf("%.1fi)",d);
printf(" = ");
}
void shuchu(double shi,double xu){
if(fabs(shi)<1e-&&fabs(xu)<1e-) printf("0.0\n");
else if(fabs(shi)<1e-&&fabs(xu)>1e-) printf("%.1fi\n",xu);
else if(fabs(shi)>1e-&&fabs(xu)<1e-) printf("%.1f\n",shi);
else
{
printf("%.1f",shi);
if(xu>) printf("+");
printf("%.1fi\n",xu);
}
}
int main()
{
double a1,b1,a2,b2,a3,b3,a4,b4;
double shi,xu;
scanf("%lf%lf%lf%lf",&a1,&b1,&a2,&b2);
a3=trans(a1),b3=trans(b1),a4=trans(a2),b4=trans(b2);
printff(a3,b3,a4,b4,'+');
shi=a1+a2,xu=b1+b2;
shuchu(shi,xu); printff(a3,b3,a4,b4,'-');
shi=a1-a2,xu=b1-b2;
shuchu(shi,xu); printff(a3,b3,a4,b4,'*');
shi=a1*a2+(b1*b2*(-1.0)),xu=a1*b2+b1*a2;
shuchu(shi,xu); printff(a3,b3,a4,b4,'/');
shi=(a1*a2+b1*b2)*1.0/(a2*a2+b2*b2),xu=(a2*b1-a1*b2)*1.0/(a2*a2+b2*b2);
shuchu(shi,xu);
return ;
}

PTA 复数四则运算的更多相关文章

  1. C语言 · 复数四则运算

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

  2. Java实现 蓝桥杯 算法提高 复数四则运算

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

  3. C++复数四则运算的实现

    程序主要实现复数的加减乘,数乘,取共轭功能. 将所有函数都定义为了成员函数. 使用库函数atof将字符串转换为浮点型数据. 函数主要难点在于处理输入.由于需要判断输入是选择退出还是继续,所以用字符串来 ...

  4. 算法笔记_156:算法提高 6-17复数四则运算(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 设计复数库,实现基本的复数加减乘除运算. 输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔:输出时按a+bi的格式在屏幕上打印结果 ...

  5. [C++][重载]

    运算符重载 C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作.例如: class complex {  public:   complex(d ...

  6. 基于C++任意点数的FFT/IFFT(时域和频域)实现

    函数说明:更改主函数体中的N和length(=log2(N))既可以实现任意点数(2的幂次)的FFT/ IFFT的实现,fft函数中flag标志位控制是正变换还是逆变换. 1.复数操作类      定 ...

  7. C++运算符重载讲解与经典实例

    最近在学C++,找到一篇详细讲解运算符重载的文章,贴在这里分享和收藏. C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作.例如: class  ...

  8. [Swift]复数的表示和四则运算

    我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位. 当虚部等于零时,这个复数可以视为实数:当z的虚部不等于零时,实部等于零时,常称z为纯虚数. 复数域是 ...

  9. 【PTA】6-1 计算两个复数之积 (10 分)

    本题要求实现一个计算复数之积的简单函数. 函数接口定义: struct complex multiply(struct complex x, struct complex y); 其中struct c ...

随机推荐

  1. ComputeShader中Consume与AppendStructuredBuffer的使用

    上个月写了一篇使用像素shader返回累加信息的Trick:https://www.cnblogs.com/hont/p/9977401.html 后来无意中发现DX11/Compute shader ...

  2. docker被屏蔽后下载方法

    docker镜像默认的官网上传平台:https://hub.docker.com/,k8s运行时需要从google下载镜像(k8s.gcr.io),但该网被屏蔽了,怎样下载到所需镜像呢? 1. 可在知 ...

  3. Spark性能优化指南-高级篇

    转自https://tech.meituan.com/spark-tuning-pro.html,感谢原作者的贡献 前言 继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作 ...

  4. c++ 异常 warning: 'MEMORY_UNIT_NAME' defined but not used

    是开关的问题  , 将 #-g -O2 -pipe -W -Wall -Werror -fPIC -Wno-deprecated    c++ 去掉.不检查.

  5. Linux 文件普通权限_011

    一.文件权限10个字符对应类型和权限 二.Linux普通文件和Linux目录读.写.执行权限说明 标注:Linux 中的文件名是存在于父目录的block里面,并指向这个文件的inode节点 1.lin ...

  6. Apple Watch S3 解锁 MacBook Pro 2015版失败的解决办法

    我的MacBook Pro MF839由于只有128G的内存,所以就只能藏在我的抽屉底下,偶尔想体验一下xcode的时候再拿回来用下,想想都浪费 也不是不想换SSD,只是看了一下,价格太贵了,256G ...

  7. Python学习笔记(三)

    组合数据类型 5种内置的序列类型:bytearray,bytes,list,str,tuple 元组 元组:固定,有序,索引从0开始,分片,步距语法支持 不能替换或者删除其中的任意数据项,使用list ...

  8. Oracle递归查询,Oracle START WITH……CONNECT BY查询

    Oracle递归查询,Oracle START WITH……CONNECT BY查询,Oracle树查询 ================================ ©Copyright 蕃薯耀 ...

  9. [laravel]malformed header from script 'index.php': Bad header: HTTP/1.1 302 Found, referer: http://localhost/auth/login

    修改php.ini中的 cgi.rfc2616_headers = 0 cgi.force_redirect = 1

  10. Android的Base64的坑

    Base64.encodeToString加密后一直和Apache的对不上,多了换行符,最后使用了NO_WRAP就好了 Base64.encodeToString(src, Base64.URL_SA ...