1. 程式人生 > >java藍橋杯演算法訓練 P1103

java藍橋杯演算法訓練 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

/**
 * 
 */
package 演算法訓練;

import java.util.Scanner;

/**
 * @author Administrator
 *
 */
public class 演算法訓練P1103 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		String temp=sc.next();
		char fu=temp.charAt(0);
		double a=sc.nextDouble();
		double b=sc.nextDouble();
		double c=sc.nextDouble();
		double d=sc.nextDouble();
		double n,m;
		if (fu=='+') {
			n=a+c;
			m=b+d;
		}
		else if (fu=='-') {
			n=a-c;
			m=b-d;
		}else if (fu=='*') {
			n=a*c-b*d;
			m=a*d+b*c;
		}
			else
		{
				n=(a*c+b*d)/(c*c+d*d);
				m=(b*c-a*d)/(c*c+d*d);
		}
		System.out.printf("%.2f+%.2fi",n,m);
	}

}


相關推薦

java藍橋演算法訓練 P1103

程式設計實現兩個複數的運算。設有兩個複數 和 ,則他們的運算公式為:  要求:(1)定義一個結構體型別來描述複數。  (2)複數之間的加法、減法、乘法和除法分別用不用的函式來實現。  (3)必須使用結

藍橋-演算法訓練-矩陣相乘(java版)

問題描述   輸入兩個矩陣,分別是m*s,s*n大小。輸出兩個矩陣相乘的結果。 輸入格式   第一行,空格隔開的三個正整數m,s,n(均不超過200)。   接下來m行,每行s個空格隔開的整數,表示矩陣A(i,j)。   接下來s行,每行n個空格隔開的整數,表示矩陣B(i,j)。 輸出格式   m行,每行n個

演算法-藍橋-演算法訓練 Torry的困惑(基本型) (JAVA

1 引言    Torry的困惑,我們程式設計來解決,我們的困惑,還是要我們自己來解決。。。2 題目問題描述  Torry從小喜愛數學。一天,老師告訴他,像2、3、5、7……這樣的數叫做質數。Torry突然想到一個問題,前10、100、1000、10000……個質數的乘積是多

演算法-藍橋-演算法訓練 最大的算式 (JAVA

1 引言    今天的第一篇文章,競賽開始進入倒計時了!2 題目問題描述  題目很簡單,給出N個數字,不改變它們的相對位置,在中間加入K個乘號和N-K-1個加號,(括號隨便加)使最終結果儘量大。因為乘號和加號一共就是N-1個了,所以恰好每兩個相鄰數字之間都有一個符號。例如: 

藍橋 演算法訓練 K好數 JAVA

import java.util.Scanner; class Main{ static int MOD=1000000007 ; public static void main(String[] args) { Scanner sc = new Scanne

藍橋-演算法訓練-sign函式(java

問題描述   給定實數x,輸出sign(x)的值。   sign(x)是符號函式,如果x>0,則返回1;如果x=0,則返回0;如果x<0,則返回-1。 輸入格式   一行一個實數x。 輸出

演算法-藍橋-演算法訓練 表示式計算 (JAVA

1 引言什麼題。。。2 題目問題描述  輸入一個只包含加減乖除和括號的合法表示式,求表示式的值。其中除表示整除。輸入格式  輸入一行,包含一個表示式。輸出格式  輸出這個表示式的值。樣例輸入1-2+3*(4-5)樣例輸出-4資料規模和約定  表示式長度不超過100,表示式運算

藍橋 演算法訓練 2的次冪表示 java

藍橋杯 演算法訓練 2的次冪表示 java 藍橋杯 演算法訓練 2的次冪表示 java 題目說明 輸入輸出 輸入格式 輸出格式 樣例輸入 樣例輸出 樣例輸入 樣例輸出 提示 思路 程式碼 題目說明   任何一個正整數都可

藍橋 演算法訓練 字母圖形

問題描述 利用字母可以組成一些美麗的圖形,下面給出了一個例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 這是一個5行7列的圖形,請找出這個圖形的規律,並輸出一個n行m列的圖形。 輸入格式 輸入一行

藍橋 演算法訓練 區間k大數查詢

明明是一個水題卻wrong answer了很多遍。。 還是因為對最基礎的氣泡排序概念不清。蠢死算了。 這下終於搞清楚了。 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數

藍橋-演算法訓練 未名湖邊的煩惱 (遞迴)

 演算法訓練 未名湖邊的煩惱   時間限制:1.0s   記憶體限制:256.0MB      問題描述   每年冬天,北大

[藍橋][演算法訓練VIP]猴子分蘋果

題目描述 秋天到了,n只猴子採摘了一大堆蘋果放到山洞裡,約定第二天平分。這些猴子很崇拜猴王孫悟空,所以都想給他留一些蘋果。第一隻猴子悄悄來到山洞,把蘋果平均分成n份,把剩下的m個蘋果吃了,然後藏起來一份,最後把剩下的蘋果重新合在一起。這些猴子依次悄悄來到山洞,都做同樣的操作,恰好每次

藍橋演算法訓練 最大最小公倍數

時間限制:1.0s   記憶體限制:256.0MB 問題描述 已知一個正整數N,問從1~N-1中任選出三個數,他們的最小公倍數最大可以為多少。 輸入格式 輸入一個正整數N。 輸出格式 輸出一個整數,表示你找到的最小公倍數。 樣例輸入 9 樣例輸出

藍橋 演算法訓練 ALGO-81 動態陣列使用

演算法訓練 動態陣列使用 時間限制:1.0s 記憶體限制:512.0MB 從鍵盤讀入n個整數,使用動態陣列儲存所讀入的整數,並計算它們的和與平均值分別輸出。要求儘可能使用函式實現程式程式碼。平均值為小數的只保留其整數部分。 樣例輸入: 5 3 4 0 0 2 樣例輸出: 9 1 樣例

藍橋 演算法訓練 ALGO-122 未名湖邊的煩惱 遞迴 遞推

演算法訓練 未名湖邊的煩惱 時間限制:1.0s 記憶體限制:256.0MB 問題描述   每年冬天,北大未名湖上都是滑冰的好地方。北大體育組準備了許多冰鞋,可是人太多了,每天下午收工後,常常一雙冰鞋都不剩。   每天早上,租鞋視窗都會排起長龍,假設有還鞋的m個,有需要租鞋的n個。現在

藍橋 演算法訓練 ALGO-116 最大的算式 動態規劃 資源分配型別(最大乘積)

演算法訓練 最大的算式 時間限制:1.0s 記憶體限制:256.0MB 問題描述   題目很簡單,給出N個數字,不改變它們的相對位置,在中間加入K個乘號和N-K-1個加號,(括號隨便加)使最終結果儘量大。因為乘號和加號一共就是N-1個了,所以恰好每兩個相鄰數字之間都有一個符號。例如:

藍橋 演算法訓練 ALGO-101 圖形顯示 迴圈語句

演算法訓練 圖形顯示 時間限制:1.0s 記憶體限制:512.0MB 問題描述   編寫一個程式,首先輸入一個整數,例如5,然後在螢幕上顯示如下的圖形(5表示行數):   * * * * *   * * * *   * * *   * *   * 分析:第一行輸出n個星號,

藍橋 演算法訓練 ALGO-97 排序 迴圈語句

演算法訓練 排序 時間限制:1.0s 記憶體限制:512.0MB 問題描述   編寫一個程式,輸入3個整數,然後程式將對這三個整數按照從大到小進行排列。   輸入格式:輸入只有一行,即三個整數,中間用空格隔開。   輸出格式:輸出只有一行,即排序後的結果。   輸入輸出樣例 樣例輸入

藍橋 演算法訓練 ALGO-95 2的次冪表示

演算法訓練 2的次冪表示 時間限制:1.0s 記憶體限制:512.0MB 問題描述   任何一個正整數都可以用2進製表示,例如:137的2進製表示為10001001。   將這種2進製表示寫成2的次冪的和的形式,令次冪高的排在前面,可得到如下表達式:137=27+23+2^0   現