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
文章標籤
全站熱搜
留言列表