算法训练 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. spark Kryo serialization failed: Buffer overflow 错误

    今天在写spark任务的时候遇到这么一个错误,我的spark版本是1.5.1. Exception in thread "main" com.esotericsoftware.kr ...

  2. Redis学习笔记一(Redis的详细安装及Linux环境变量配置和启动)

     Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 我使用的是下面这个版本: 若没有资源的话,我在 ...

  3. 点击li往数组添加对应li的id再点击移除,根据是否有class判断

    if($(this).hasClass('click')){ $(this).removeClass('click'); var idAPP = $(this).attr('id'), index = ...

  4. MySQL中tinytext、text、mediumtext和longtext详解【转】

    一.数字类型 类型 范围 说明   Char(N) [binary] N=1~255 个字元binary :分辨大小写 固定长度 std_name cahr(32) not null VarChar( ...

  5. 7.mysql-安装和卸载.md

    目录 卸载 停止window的MySQL服务. 卸载MySQL安装程序.找到"控制面板"-> "程序和功能",卸载MySQL程序. 安装 MYSQL的安装 ...

  6. editable : false与 readonly 的区别

    editable : false 不能输入 readonly:不可操作,只能看

  7. mysql 远程 ip访问

    默认情况下Linux内的mysql数据库mysql,user表内的用户权限只是对localhost即本机才能登陆.需要更改权限: 如下的方式确认: root#mysql -h localhost-u  ...

  8. C# Liseview的使用方法之一:滚动到选中的行

    listview.items[i].EnsureVisible();//滚动到你想要显示出来的行上. 其中,listview.items[i]就是你想要显示的行.

  9. 解决在.NET 4.0下无法发送包含尖括号等请求的问题

    今天在做一个简单的数据添加时,使用jQuery的ajax的post操作,发现如果包含尖括号等html格式数据的请求无法发给服务端. 以往的做法就是在页面中或web.config中的pages节点中增加 ...

  10. ajax 执行代码顺序

    异步:ajax执行过程中,ajax后面的代码也执行了,程序没按顺序走 同步:ajax执行完毕后再执行后面的代码,程序顺序执行 在jq中ajax默认是异步的 当设置async:false表示的就是同步的 ...