算法训练 P1103  
时间限制:1.0s   内存限制:256.0MB
    
  
  编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:

  要求:(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

 
思路:
首先在java里面用类代替结构体,注意不要用public class, 且将成员变量设置为public便于使用,否则要写set,get函数,很麻烦;
格式输出注意:用system.out.printf()或者String.format()都可以,注意double 是%f 而不是lf.
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
char fh = cin.next().charAt(0); // 注意这里不用nextLine
fushu t1 = new fushu();
t1.shi = cin.nextDouble();
t1.xu = cin.nextDouble();
fushu t2 = new fushu();
t2.shi = cin.nextDouble();
t2.xu = cin.nextDouble();
if(fh == '+') {
t1.add(t2);
}
else if(fh == '-'){
t1.jian(t2);
}
else if(fh == '*') {
t1.chen(t2);
}
else {
t1.chu(t2);
} // System.out.println(t1.shi + "+" + t1.xu + "i");
// System.out.println(String.format("%.2f+%.2fi", t1.shi, t1.xu));
System.out.printf("%.2f+%.2fi", t1.shi, t1.xu);
} } class fushu{
public double shi;
public double xu;
fushu(){ }
fushu(double a, double b){
shi = a;
xu = b;
}
public void jian(fushu b) {
this.shi -= b.shi;
this.xu -= b.xu;
}
public void add(fushu b) {
this.shi += b.shi;
this.xu += b.xu;
}
public void chen(fushu b) {
double shi = this.shi;
double xu = this.xu;
this.shi = shi * b.shi - xu * b.xu;
this.xu = shi * b.xu + xu * b.shi;
}
public void chu(fushu b) {
double shi = this.shi;
double xu = this.xu;
this.shi = (shi * b.shi + xu * b.xu) / (b.shi * b.shi + b.xu * b.xu);
this.xu = (xu * b.shi - shi * b.xu) / (b.shi * b.shi + b.xu * b.xu);
}
}

  

15-算法训练 P1103的更多相关文章

  1. 算法训练 P1103

      算法训练 P1103   时间限制:1.0s   内存限制:256.0MB      编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. ...

  2. Java实现 蓝桥杯 算法训练 p1103

    算法训练 P1103 时间限制:1.0s 内存限制:256.0MB 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间的加法. ...

  3. 蓝桥杯 算法训练 ALGO-142 P1103

    算法训练 P1103   时间限制:1.0s   内存限制:256.0MB 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间 ...

  4. 算法训练 最大的算式 DP

    算法训练 最大的算式 时间限制:1.0s   内存限制:256.0MB     问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果 ...

  5. 算法训练 Lift and Throw

    算法训练 Lift and Throw   时间限制:3.0s   内存限制:256.0MB      问题描述 给定一条标有整点(1, 2, 3, ...)的射线. 定义两个点之间的距离为其下标之差 ...

  6. 蓝桥杯 算法训练 ALGO-116 最大的算式

    算法训练 最大的算式   时间限制:1.0s   内存限制:256.0MB 问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量 ...

  7. TensorFlow利用A3C算法训练智能体玩CartPole游戏

    本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...

  8. DRL 教程 | 如何保持运动小车上的旗杆屹立不倒?TensorFlow利用A3C算法训练智能体玩CartPole游戏

    本教程讲解如何使用深度强化学习训练一个可以在 CartPole 游戏中获胜的模型.研究人员使用 tf.keras.OpenAI 训练了一个使用「异步优势动作评价」(Asynchronous Advan ...

  9. 算法笔记_067:蓝桥杯练习 算法训练 安慰奶牛(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路.道路被用来连接N个牧场,牧场被连续地编号为1到N.每一个牧场都是 ...

随机推荐

  1. 如何做Go的性能优化?(转)

    Go的性能优化其实总的来说和C/C++等这些都差不多,但也有它自己独有的排查方法和陷阱,这些都来源于它的语言特性和环境. 1.性能优化前提——任何好的东西都是在正确的前提上 代码界的很多事是和我们生活 ...

  2. 尚硅谷redis学习9-发布订阅

    是什么? 图示说明 命令 例子

  3. Redis-stat 的安装与使用

    一.ruby源码安装 下载最新版的 Ruby 压缩文件.请点击这里下载. 下载 Ruby 之后,解压到新创建的目录下: $ tar -xvzf ruby-2.2.3.tgz $ cd ruby-2.2 ...

  4. CocosCreator 自定义TypeScript在VsCode的提示数据

    在assets文件夹外新建xx.d.ts文件如:global.d.ts global.d.ts declare class UserData{ node:cc.Node; name:string; } ...

  5. Unity系列文章

    1.IoC模式:http://www.cnblogs.com/qqlin/archive/2012/10/09/2707075.html  这篇博客是通过一个播放器的例子来说明什么是依赖,依赖倒置,控 ...

  6. vue项目遇到的坑

    一.启动项目问题 1. 如何从git上拉下项目:点我  2. 启动项目失败: 点我 and 点我 二.搭建项目问题 1. 先改分辨率,否则可能影响布局 以我的项目为例,分辨率修改位置如下: 2. .v ...

  7. 使用支持向量机(SVM) 算法进行分类

    1 支持向量机(SVM)的基本概念   SVM是一种分类算法,其侧重于模式识别方面.使用SVM可以大大提高分类的准确性.   分类相当于模式识别的子集合,模式识别重点在于对已知数据进行特征发现与提取. ...

  8. Delphi中For In 语法应用实例

    一.遍历 TStrings var List: TStrings; s: string; begin List := TStringList.Create; List.CommaText := 'aa ...

  9. 1.Java基础概念.md

    类 •类是Java的最小程序单位,所有程序必须放到类里. •Java中只可以有一个public类,且源文件名称必须和public类名称一致(建议) •Java的main方法: public stati ...

  10. AlertDialog 无法去掉自带的白边

    项目中开始采用AlertDialog ,根据要求要显示加圆角.但是设置圆角的背景后,会存在白边. 按网上提示的设置透明的背景都不可以. 最后采用Dialog.