算法训练 P1103
编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:
要求:(1)定义一个结构体类型来描述复数。
(2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。
(3)必须使用结构体指针的方法把函数的计算结果返回。
说明:用户输入:运算符号(+,-,*,/) a b c d.
输出:a+bi,输出时不管a,b是小于0或等于0都按该格式输出,输出时a,b都保留两位。
输入:
- 2.5 3.6 1.5 4.9
输出:
1.00+-1.30i
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
char s;
s=sc.next().charAt(0);
double a,b,c,d;
a= sc.nextDouble();
b= sc.nextDouble();
c= sc.nextDouble();
d= sc.nextDouble();
if(s=='+')
System.out.printf("%.2f+%.2fi",a+c,b+d);
if(s=='-')
System.out.printf("%.2f+%.2fi",a-c,b-d);
if(s=='*')
System.out.printf("%.2f+%.2fi",a*c-b*d,a*d+b*c);
if(s=='/')
System.out.printf("%.2f+%.2fi",(a*c+b*d)/(c*c+d*d),(b*c-a*d)/(c*c+d*d));
System.out.println(); } }
-----------------------
关于复数
--------------------------------------
复数的加法按照以下规定的法则进行:设z1=a+bi,z2=c+di是任意两个复数,
则它们的和是 (a+bi)+(c+di)=(a+c)+(b+d)i.
复数的减法按照以下规定的法则进行:设z1=a+bi,z2=c+di是任意两个复数,
则它们的差是 (a+bi)-(c+di)=(a-c)+(b-d)i.
设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积 (a+bi)(c+di)=(ac-bd)+(bc+ad)i.
除法运算规则:
①设复数a+bi(a,b∈R),除以c+di(c,d∈R),其商为x+yi(x,y∈R),
即(a+bi)÷(c+di)=x+yi分母有理化
分母有理化
∵(x+yi)(c+di)=(cx-dy)+(dx+cy)i.
∴(cx-dy)+(dx+cy)i=a+bi.
由复数相等定义可知 cx-dy=a dx+cy=b
解这个方程组,得 x=(ac+bd)/(c^2+d^2) y=(bc-ad)/(c^2+d^2)
于是有:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i
算法训练 P1103的更多相关文章
- Java实现 蓝桥杯 算法训练 p1103
算法训练 P1103 时间限制:1.0s 内存限制:256.0MB 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间的加法. ...
- 蓝桥杯 算法训练 ALGO-142 P1103
算法训练 P1103 时间限制:1.0s 内存限制:256.0MB 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间 ...
- 15-算法训练 P1103
http://lx.lanqiao.cn/problem.page?gpid=T372 算法训练 P1103 时间限制:1.0s 内存限制:256.0MB 编程实现两个复数的运算 ...
- 蓝桥杯 算法训练 Torry的困惑(基本型)(水题,筛法求素数)
算法训练 Torry的困惑(基本型) 时间限制:1.0s 内存限制:512.0MB 问题描述 Torry从小喜爱数学.一天,老师告诉他,像2.3.5.7……这样的数叫做质数.Torry突 ...
- 蓝桥杯 算法训练 区间k大数查询(水题)
算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. ...
- 算法训练 Hankson的趣味题
算法训练 Hankson的趣味题 时间限制:1.0s 内存限制:64.0MB 问题描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Han ...
- 算法训练 A+B Problem
算法训练 A+B Problem 时间限制:1.0s 内存限制:512.0MB 问题描述 输入A,B. 输出A+B. 输入格式 输入包含两个整数A,B,用一个空格分隔. 输出格式 ...
- 算法训练 Hanoi问题
算法训练 Hanoi问题 时间限制:1.0s 内存限制:512.0MB 问题描述 如果将课本上的Hanoi塔问题稍做修改:仍然是给定N只盘子,3根柱子,但是允许每次最多移动相邻的 ...
- 算法训练 区间k大数查询
http://lx.lanqiao.org/problem.page?gpid=T11 算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个 ...
随机推荐
- python 数据交换
例1 def change(data): data[],data[]=data[],data[] print('函数内交换位置后:') ): print('data[%d]=%3d' %(i,data ...
- 微信小程序 - 简述
1.小程序理解 基于微信的 免安装 MVVM 应用 编码使用 ES 6 一个页面基本组成:wxml wxss js ( html.css.js ) 2. 常见用法 ( 基本就是跟着例子走.. ) 设置 ...
- js、jq对象互转
1.js对象转jq对象: $() $('#kw') $(document.getElementById("kw")) 2.jq对象转js对象: $(this).get(0) ...
- Java 常用对象-基本类型的封装类
2017-11-04 20:39:26 基本类型封装类:基本类型的封装类的好处是可以在对象中定义更多的功能方法操作该数据. 常用操作之一:用于基本数据类型与字符串的转换. 基本类型和包装类的对应: b ...
- C#怎样用文件读写在文件的原有基础上追加一行数据
首先添加命名空间using System.IO;这里有两种方法,希望对你有帮助,操作文件时,一定要记得及时关闭流. 第一种方法: string path="D\1.txt";//文 ...
- HTML表单格式化
HTML表单格式化 一.说明 用table布局 二.效果 三.代码 <!DOCTYPE html> <html> <head> <title>Form. ...
- English trip -- Review Unit1 Personal Information 个人信息
1.重点内容进行自我介绍 What's you name? I'm Loki Where are you from? I'm Local, I'm Chengdu How old are you? t ...
- codeforces 555c// Case of Chocolate// Codeforces Round #310(Div. 1)
题意:直角边为n的网格巧克力,一格为一块,选择斜边上一点,从左或上吃,直到吃到空气,称为一次操作.给出几个操作,问各能吃几块.如果x是当前要吃的横坐标,在已经吃过的中找x1>=x的第一个x1,即 ...
- Android发展历程
Android历代版本的命名: 我们都是知道,安卓系统的历来的名称都是很有意思的,下面无限互联Android培训的老师归纳了一下:Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的 ...
- 为tomcat指定jdk
安装好jdk,不配置环境变量 windows平台 在catalina.bat文件和setclasspath.bat文件开头的空白处加上如下两句(指定JDK): \jre linux平台 在catali ...