1. 程式人生 > 實用技巧 >劍指offer63-資料流中的中位數**

劍指offer63-資料流中的中位數**

技術標籤:Java學習java

題目描述
hello world
輸入
這個程式沒有輸入。
輸出
輸出"Hello World!"(不含引號),並換行。
樣例輸出 Copy
Hello World!

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

題目描述
會輸出Hello World!了,那換個句子也會吧?
輸入
沒有輸入
輸出
現在要求你輸出下面的字 Nice to meet you!

樣例輸出 Copy
Nice to meet you!

public class Main {
    public static void main(String[] args){
        System.out.println("Nice to meet you!");
    }
}

題目描述
怎麼樣?做完了上題後是不是覺得C語言其實不難學? 那麼再來一題吧。 輸出示例的內容。
輸入
沒有輸入。
輸出
第一行輸出15個* 第二行一個空行,知道空行怎麼輸出嗎? 第三行先輸出2個空格,然後是Very Good! 第四行又是一個空行 第五行輸出15個*,然後換行。

樣例輸出 Copy

***************

Very Good!

***************

public class Main {
    public static void main(String[] args){
        System.out.println("***************");
        System.out.println("");
        System.out.println("  Very Good!");
        System.out.println(""
); System.out.println("***************"); } }

題目描述
計算機計算能力很強哦。 讓計算機幫你算其實也很容易,不過要學好計算機語言哦。 下面請看一個例子:要求計算機計算1+2的值並輸出。
輸入
沒有輸入
輸出
輸出10-7的值
樣例輸出 Copy
3

public class Main {
    public static void main(String[] args){
        System.out.println(10-7);
    }
}

題目描述
上題會模仿了吧。再來模仿一個。 現在要求你模仿一個乘法的算術題
輸入
沒有輸入
輸出
輸出9乘以10的值
樣例輸出 Copy
90

public class Main {
    public static void main(String[] args){
        System.out.println(9*10);
    }
}

題目描述

輸入
沒有輸入
輸出
輸出8除以5,保留1位小數
樣例輸出 Copy
1.6

public class Main {
    public static void main(String[] args){
        double f=8/(double)5;
        System.out.println(String.format("%.1f", f));
    }
}

題目描述
下面你來計算一個複雜一點的計算表示式
在這裡插入圖片描述

輸入
沒有輸入
輸出
輸出表達式的值,保留2位小數
樣例輸出 Copy
(根據你計算的結果輸出吧)

import static java.lang.Math.sqrt;

public class Main {
    public static void main(String[] args){
        double f=1+(sqrt(3)/(4-2.1));
        System.out.println(String.format("%.2f",f));
    }
}

題目描述
通過上面兩個例子,是不是基本瞭解了最簡單的C程式? 不過老做這樣的題目是不是沒意思? 好,現在讓我們搞點新鮮的花樣——那就是鸚鵡學舌。你聽過這麼個幽默故事嗎? 飛機上有一隻豬和一隻鸚鵡鸚鵡對空姐說:"給爺來杯水”. 於是豬也學鸚鵡對空姐說:"給爺來杯水”.空姐很生氣於是把他們扔了出去. 這時候鸚鵡對豬說;"傻了吧爺會飛”。 Ok笑話也看完了,那就請你寫個程式完成鸚鵡學舌的功能吧。
輸入
輸入一個整數。
輸出
輸出剛才輸入的那個整數,並換行。
樣例輸入 Copy
1
樣例輸出 Copy
1

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        System.out.println(n);
    }
}

題目描述
上一題過的輕鬆嗎?是不是老忘了scanf函式的格式?特別是那個&?以後不要再忘了哦? 那麼再來一題吧。這題要求計算a+b的和了。
輸入
輸入2個整數a和b中間用一個空格隔開
輸出
輸出為三行, 第1行輸出 a=a其中紅色的a代替a的值, 第2行輸出 b=b其中紅色的b代替b的值, 第3行輸出 s=s其中紅色的s代替a+b的和,然後再換行。
樣例輸入 Copy
1 2

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int a=input.nextInt();
        int b=input.nextInt();
        System.out.println("a="+a+"\n"+"b="+b+"\ns="+(a+b));
    }
}

題目描述
a+b會做了吧,那這一題就小菜一碟拉!
輸入
輸入2個整數a和b中間用逗號隔開
輸出
輸出a-b的值,然後換行。
樣例輸入 Copy
2,1
樣例輸出 Copy
1

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        String s1=input.nextLine();
        String[] a=s1.split(",");
        int b=Integer.parseInt(a[0]);
        int c=Integer.parseInt(a[1]);
        System.out.println(b-c);
    }
}

題目描述
買一張票需要25元75分(我們可以記作25.75元),現在要買三張票,拿出一張100元的錢,能找回多少?如果票價不是25.75元,那又能找回多少?假設肯定有需要找回的錢
輸入
輸入票價,以元作為單位的一個數值
輸出
輸出應該找回的錢數,以元作為單位,分以小數形式,保留2位小數
樣例輸入 Copy
20
樣例輸出 Copy
40.00

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        double x=input.nextDouble();
        System.out.println(String.format("%.2f",100-3*x));
    }
}

題目描述
輸入3個整數,求出平均值,保留3位小數
輸入
輸入3個整數
輸出
輸出平均值,保留3位小數
樣例輸入 Copy
2 3 4
樣例輸出 Copy
3.000

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int a=input.nextInt();
        int b=input.nextInt();
        int c=input.nextInt();
        double x=(double)(a+b+c)/3;
        System.out.println(String.format("%.3f",x));
    }
}

題目描述
輸入一個華氏溫度,根據公式C=(5/9)(F-32)計算對應的攝氏溫度。
輸入
輸入一個華氏溫度值
輸出
輸出輸入的華氏溫度和轉換後的攝氏溫度值。 輸出為一行,具體詳見示例
樣例輸入 Copy
100
樣例輸出 Copy
fahr=100.000,celsius=37.778

import java.util.Scanner;
public class Main {
    public static void main(String [] args){
        Scanner input=new Scanner(System.in);
        double f=input.nextDouble();
        double c=(5/(double)9)*(f-32);
        System.out.println("fahr="+String.format("%.3f",f)+",celsius="+String.format("%.3f",c));
    }

}

題目描述
輸出%d
輸入
沒有輸入
輸出
輸出%d
樣例輸出 Copy
%d

import java.util.Scanner;
public class Main {
    public static void main(String [] args){
        Scanner input=new Scanner(System.in);
        System.out.println("%d");
    }
}

題目描述
輸出\n
輸出
輸出\n
樣例輸出 Copy
\n

public class Main {
    public static void main(String [] args){
        System.out.println("\\n");
    }
}

題目描述

輸入
輸入2個日期,日期按照年月日,年月日之間用符號-隔開
輸出
求出這2個日期之間的天數(不包括自身)
樣例輸入 Copy
2011-1-1
2011-1-5
樣例輸出 Copy
3

import java.util.Scanner;
public class Main {
    public static void main(String [] args){
        Scanner input=new Scanner(System.in);
        String s1=input.nextLine();
        String[] num1=s1.split("-");

        int x1=Integer.parseInt(num1[0]);
        int x2=Integer.parseInt(num1[1]);
        int x3=Integer.parseInt(num1[2]);
        String s2=input.nextLine();
        String[] num2=s2.split("-");
        int x4=Integer.parseInt(num2[0]);
        int x5=Integer.parseInt(num2[1]);
        int x6=Integer.parseInt(num2[2]);
        System.out.println((x6-x3-1));
    }
}

題目描述
輸入2個時間,求2個時間之間的分鐘數(不包括自身),為了簡單之見假設這2個時間在同一天且前面的時間較小
輸入
輸入2行,分別是2個時間,時間小時與分鐘之間用:隔開
輸出
輸出之間的分鐘數
樣例輸入 Copy
12:12
12:16
樣例輸出 Copy
3

import java.util.Scanner;
public class Main {
    public static void main(String [] agrs){
        Scanner input=new Scanner(System.in);
        String s1=input.nextLine();
        String[] a=s1.split(":");
        int h1=Integer.parseInt(a[0]);
        int m1=Integer.parseInt(a[1]);
        String s2=input.nextLine();
        String[] b=s2.split(":");
        int h2=Integer.parseInt(b[0]);
        int m2=Integer.parseInt(b[1]);
        System.out.println(((h2-h1)*60)+m2-m1-1);
    }
}

題目描述
輸入1個3位數,分離出它的百位、十位和個位,反轉後輸出
輸入
輸入1個3位整數
輸出
輸出3位整數的反轉數
樣例輸入 Copy
250
樣例輸出 Copy
052

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int x=0;
        while(n>0){
            System.out.print(n%10);
            n/=10;
            x++;
        }
        if(x<3) System.out.print(0);
        if(x<2) System.out.print(0);
        if(x<1) System.out.print(0);
    }
}

題目描述
輸入2個整數,交換後輸出
輸入
輸入2個整數
輸出
交換後輸出
樣例輸入 Copy
825 23
樣例輸出 Copy
23 825

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int m=input.nextInt();
        int t=n;
        n=m;
        m=t;
        System.out.println(n+" "+m);
    }
}

題目描述

輸入
輸入底面半徑r和高h. pi為float型,pi = 3.1415926
輸出
輸出圓柱體的表面積,保留3位小數
樣例輸入 Copy
3.5 9
樣例輸出 Copy
Area=274.889

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        double r=input.nextDouble();
        double h=input.nextDouble();
        double s=r*r*Math.PI*2+h*2*Math.PI*r;
        System.out.println("Area="+String.format("%.3f",s));
    }
}

題目描述
輸入
輸入3個浮點數,分別表示上底、下底和高,中間用逗號隔開
輸出
輸出梯形的面積,保留2位小數
樣例輸入 Copy
2,4,5
樣例輸出 Copy
15.00

import java.util.Scanner;
public class Main {
    public static void main(String[] agrs){
        Scanner input=new Scanner(System.in);
        String s1=input.nextLine();
        String[] x=s1.split(",");
        double sd=Double.parseDouble(x[0]);
        double xd=Double.parseDouble(x[1]);
        double h=Double.parseDouble(x[2]);
        double s=(sd+xd)*h/2;
        System.out.println(String.format("%.2f",s));
    }
}

題目描述
輸入一個正整數n輸出n度的正弦、餘弦函式值。注意呼叫正餘弦函式,要加#include <math.h>函式引數為弧度。
輸入
輸入一個正整數(不大於10000)
輸出
分2行分別輸出n度的正弦和餘弦函式值,保留2位小數
樣例輸入 Copy
90
樣例輸出 Copy
1.00
0.00

import java.util.Scanner;
public class Main {
    public static void main(String[] agrs){
        Scanner input=new Scanner(System.in);
        double c=input.nextDouble();
        double x=Math.toRadians(c);
        double sin=Math.sin(x),cos=Math.cos(x);
        System.out.println(String.format("%.2f",sin));
        System.out.println(String.format("%.2f",cos));
    }
}

題目描述
AA制是現代青年流行的一個名詞。所謂AA制其實就是幾個朋友一起吃飯、玩,其中的費用平攤。現在要求你編寫一個程式來計算每個人需要承擔的費用。
輸入
輸入分2行, 第一行輸入1個整數n(n>0),表示共有n個人平攤費用 第二行輸入3個數,分別是這次去玩的3個專案的開支(單位是元)
輸出
輸出一行,計算出每個人應該承擔的費用,精確到分(保留2位小數)
樣例輸入 Copy
3
12 14.6 13.3
樣例輸出 Copy
13.30

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int i;
        double[] a=new double[n+1];
        double s = 0;
        for(i=1;i<=n;i++){
            a[i]=input.nextDouble();
            s+=a[i];
        }
        s/=3.0;
        System.out.println(String.format("%.2f",s));
    }
}

題目描述
輸入一個整數,判斷是奇數還是偶數
輸入
輸入1個正整數
輸出
如果是偶數,輸出even否則輸出odd
樣例輸入 Copy
2
樣例輸出 Copy
even

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        if(n%2==0) System.out.println("even");
        else System.out.println("odd");
    }
}

題目描述
輸入一個整數,判斷該數是正整數、負整數還是零。
輸入
輸入一個整數。
輸出
如果是正整數,輸出’+’;如果是負整數,輸出’-’;如果是零,輸出’0’。
樣例輸入 Copy
-360
樣例輸出

-

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        if(n>0) System.out.println("+");
        else if(n<0) System.out.println("-");
        else System.out.println(n);
    }
}

題目描述
輸入一個正整數,判斷該數是否既是5又是7的整數倍。若是,則輸出Yes,否則輸出No.
輸入
輸入一個正整數
輸出
若該數是5和7的倍數,則輸出Yes,否則輸出No.
樣例輸入 Copy
35
樣例輸出 Copy
Yes

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        if (n % 7 == 0 && n % 5 == 0) {
            System.out.println("Yes");
        } else System.out.println("No");
    }
}

題目描述
大家知道判斷一個數能被另一個數整除如何判斷嗎?很easy吧? 那麼現在讓你來判一下吧
輸入
輸入三個整數,分別為abc(其中bc均不為0)
輸出
如果a既是b的整數倍又是c的整數倍,則輸出Yes否則輸出No
樣例輸入 Copy
35 5 7
樣例輸出 Copy
Yes

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int a=input.nextInt(),b=input.nextInt(),c= input.nextInt();
        if(a%b==0&&a%c==0) System.out.println("Yes");
        else System.out.println("No");
    }
}

題目描述

輸入
輸入2個整數a和b用一個或幾個空格隔開
輸出
輸出其中較大的數,並換行
樣例輸入 Copy
4 5
樣例輸出 Copy
5

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int a=input.nextInt(),b=input.nextInt();
        System.out.println(Math.max(a,b));
    }
}

題目描述
上題是否很easy? 那麼給你增加點難度,現在要求三個數中的較大數。
輸入
輸入三個數,用空格隔開
輸出
輸出三個數中最大數
樣例輸入 Copy
1 2 3
樣例輸出 Copy
3

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int a=input.nextInt(),b=input.nextInt(),c=input.nextInt();
        int m=Math.max(a,b);
        int n=Math.max(c,m);
        System.out.println(n);
    }
}

題目描述
輸入三角形的三條邊,判斷是否是直角三角形
輸入
輸入三角形3條邊(均為整數)
輸出
如果3條邊組成的是直角三角形,輸出yes否則輸出no
樣例輸入 Copy
3 4 5
樣例輸出 Copy
yes

import java.util.Scanner;
public class t1030 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double a=input.nextDouble(),b=input.nextDouble(),c=input.nextDouble();
        if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) System.out.println("yes");
        else System.out.println("no");
    }
}

題目描述
輸入一個整數年份,要求判斷是否是閏年。符合以下兩種情況都是閏年:1. 能被4整除但是不能被100整除 2. 能被400整除。
輸入
輸入一個整數年份
輸出
如果是閏年輸出Yes,否則輸出No
樣例輸入 Copy
2000
樣例輸出 Copy
Yes

import java.util.Scanner;
public class t1031 {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int m=input.nextInt();
        if((m%4==0&&m%100!=0)||m%400==0) System.out.println("Yes");
        else System.out.println("No");
    }
}

題目描述
ACM集訓隊每年都要招新隊員。他們很多從大一開始就練了。當然一開始都是從hello world練起的,後來很多人成了牛人。 你想參加嗎?如果你感興趣,趕快加入。可以寫Email給葉老師[email protected] 集訓隊實行等級分制度。 起始分1500。參加一次集訓加5分,如果排名前十,額外增加5分 現在輸入一個同學參加的次數以及排名前十的次數,你給他算下等級
等級分 等級
<1600 D
1600~1699 C
1700~1799 B

=1800 A

輸入
輸入2個整數,分別表示參加集訓的次數和排名前10的次數
輸出
輸出等級
樣例輸入 Copy
3 3
樣例輸出 Copy
D

import java.util.Scanner;
public class Main {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        int a=input.nextInt(),b=input.nextInt();
        if(1500+(a+b)*5<1600) System.out.println("D");
        else if(1600<=1500+(a+b)*5&&1500+(a+b)*5<1699) System.out.println("C");
        else if(1500+(a+b)*5>=1700&&1500+(a+b)*5<1800) System.out.println("B");
        else System.out.println("A");
    }
}