close
  • 輸入任意5個數字,找出最大值和最小值
import java.util.Scanner;public class tggrug_P217 {	public static void main(String[] args) {		int min, max;		Scanner scn = new Scanner(System.in);
		// 由鍵盤讀入5個整數		System.out.println("請輸入第1個數字:");		int n1 = scn.nextInt();
		System.out.println("請輸入第2個數字:");		int n2 = scn.nextInt();
		System.out.println("請輸入第3個數字:");		int n3 = scn.nextInt();
		System.out.println("請輸入第4個數字:");		int n4 = scn.nextInt();
		System.out.println("請輸入第5個數字:");		int n5 = scn.nextInt();		scn.close();
		// 初始化		max = min = n1;
		// 演算法 A		// 如 n1(10),n2(30),n3(20),n4(5),n5(50),max和min初始化為n1值(10)		// n1(10)和max(10)相等,max值10,min值10		// n2(30)和max(10)n2大,n2指給max,max值30,min值10		// n3(20)和max(30)max大,n3和min比,n3大,max值30,min值10		// n4(5)和max(30)max大,n4和min比,n4小,n4指給min,max值30,min值5		// n5(50)和max(30)n5大,n5指給max ,max值50,min值5		// 最大值max為n5(50),最小值min為n4(5)
		if (n1 >= max) {			max = n1;		} else if (n1 <= min) {			min = n1;		}
		// n2		if (n2 >= max) {			max = n2;		} else if (n2 <= min) {			min = n2;		}
		if (n3 >= max) {			max = n3;		} else if (n3 <= min) {			min = n3;		}
		if (n4 >= max) {			max = n4;		} else if (n4 <= min) {			min = n4;		}
		if (n5 >= max) {			max = n5;		} else if (n5 <= min) {			min = n5;		}
		System.out.println("最大值為(逐行if): " + max);		System.out.println("最小值為(逐行if): " + min);
		// 演算法 B		// 和上面的基本邏輯相同,不同在於利用矩陣和for迴圈,大量縮減程式碼		int arr[] = { n1, n2, n3, n4, n5 };		max = min = arr[0];
		for (int i = 0; i <= 4; i++) {			if (arr[i] >= max) {				max = arr[i];			} else if (arr[i] <= min)				min = arr[i];		}		System.out.println("最大值為(陣列+if): " + max);		System.out.println("最小值為(陣列+if): " + min);	}}
  • 輸出結果:
請輸入第1個數字:15請輸入第2個數字:10請輸入第3個數字:99請輸入第4個數字:35請輸入第5個數字:47最大值為(逐行if): 99最小值為(逐行if): 10最大值為(陣列+if): 99最小值為(陣列+if): 10
arrow
arrow

    ALVIN 發表在 痞客邦 留言(0) 人氣()