蓝桥杯 算法训练 复数运算
2016-04-29 12:45
465 查看
编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:
要求:(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
此处测试100分,有需要的同志就参考可以
另外楼主留下新浪博客-@雷锹。有兴趣的通知可以粉我一直交流
要求:(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
package com.ALGO; import java.text.DecimalFormat; import java.util.Scanner; public class _142{ public static class FuShu{ public FuShu(double a, double b) { // TODO Auto-generated constructor stub this.a = a; this.b = b; } public double a; public double b; public String toString() { DecimalFormat format = new DecimalFormat("0.00"); return format.format(a)+"+"+format.format(b)+"i"; } } public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner (System.in); String operator = scan.next(); char op = operator.charAt(0); double a = scan.nextDouble(); double b = scan.nextDouble(); double c = scan.nextDouble(); double d = scan.nextDouble(); FuShu one = new FuShu(a,b); FuShu two = new FuShu(c,d); FuShu three = null; switch(op){ case '+':three = add(one, two);break; case '-':three = sub(one, two);break; case '*':three = mul(one, two);break; case '/':three = div(one, two);break; } System.out.println(three.toString()); } private static FuShu div(FuShu one, FuShu two) { FuShu temp = new FuShu((one.a*two.a+one.b*two.b)/(two.b*two.b+two.a*two.a), (one.b*two.a+one.a*two.b)/(two.b*two.b+two.a*two.a)); return temp; } private static FuShu mul(FuShu one, FuShu two) { FuShu temp = new FuShu(one.a*two.a-one.b*two.b, one.a*two.b+one.b*two.a); return temp; } private static FuShu sub(FuShu one, FuShu two) { FuShu temp = new FuShu(one.a-two.a, one.b-two.b); return temp; } private static FuShu add(FuShu one, FuShu two) { FuShu temp = new FuShu(one.a+two.a, one.b+two.b); return temp; } }
此处测试100分,有需要的同志就参考可以
另外楼主留下新浪博客-@雷锹。有兴趣的通知可以粉我一直交流
相关文章推荐
- POJ Brackets (区间dp)
- bootstrap学习笔记(4)
- 用MXnet实战深度学习之二:Neural art
- Android Studio使用Lint进行代码检查
- 如何确定自己是否适合做程序员?
- 一个面向Scheme程序员的monad介绍
- count(distinct) 与group by 浅析
- 用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别 (zz)
- 数据结构与算法——有向无环图的拓扑排序C++实现
- android 图片选择器 photopicker
- Concurrent包中的线程池
- hdoj 1969 (poj 3122&&acm)Pie
- 字符流中Close()和flush()的区别
- 结构体赋值(scanf)
- Websocket之协议简单介绍
- 苹果设备模拟器 所有XCcode正式版本 下载方法
- 团队作业五
- 苹果设备模拟器 所有XCcode正式版本 下载方法
- C语言,大数除法,不支持小数
- 理解LSTM网络及其流程Understanding LSTM and its diagrams