2006程式設計競賽第二題
題目:
import java.util.*; /*************************************** Please write a program to input n (max. 20) numbers and find the medium. *****************************************/ public class E2006_2{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String s = sc.nextLine();//輸入數字 System.out.println("Please input numbers:"+s); int [] Arr = StringToInt(s); SelectSort(Arr); System.out.println("The medium is : "+medium(Arr)); } } /*將字串陣列轉整數陣列 */ public static int[] StringToInt(String s){ String [] arr = s.split(" "); int[] Arr = new int[arr.length]; for (int i=0; i < arr.length; i++) { Arr[i] = Integer.parseInt(arr[i]); } return Arr; } /*排序*/ public static void SelectSort(int arr []){ int i,j,max; int n = arr.length; for(i=0;i<n-1;i++){ max=i; /*找出這陣列比arr[max]小然後交換*/ for(j=i+1;j<n;j++){ if(arr[max]>arr[j]){ //初始設定arr[max]最大 max = j; } } /*交換*/ int temp = arr[max]; arr[max] = arr[i]; arr[i] = temp; } } /*回傳中間值*/ public static int medium(int arr []){ int n = arr[arr.length/2]; return n; } }Ex:
Please input numbers: 5 3 10 The medium is : 5 Please input numbers: 7 10 1 8 The medium is : 8 Please input numbers: 2 8 10 3 1 The medium is : 3
留言
張貼留言