java經典程式設計題(34-36)
阿新 • • 發佈:2019-02-05
【程式35】題目:輸入陣列,最大的與第一個元素交換,最小的與最後一個元素交換,輸出陣列。
import java.util.Scanner; public class Demo1 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("請輸入陣列個數:"); int n = scan.nextInt(); int[] arr = new int[n]; System.out.println("請輸入"+n+"個整數:"); for(int i=0;i<n;i++){ arr[i]=scan.nextInt(); } int max=arr[0]; int min=arr[0]; int maxI=0; int minI=0; System.out.print("排序前: "); for(int i=0;i<n;i++){ System.out.print(arr[i]+" "); } for(int i=0;i<n;i++){ if(max<arr[i]){ max=arr[i]; maxI=i; } if(min>arr[i]){ min=arr[i]; minI=i; } } int temp1 = arr[0];//這兩個temp只是為了在交換時使用 int temp2 = arr[min]; arr[0] =arr[maxI];//首先交換a[0]和最大值a[max] arr[maxI]=temp1; if(minI!=0){ arr[min] = arr[n-1]; arr[n-1] = temp2; }else{ arr[maxI] = arr[n-1]; arr[n-1] = temp1; } System.out.println(); System.out.print("排序後:"); for(int i=0;i<n;i++){ System.out.print(arr[i]+" "); } } }
【執行結果】
請輸入陣列個數:
5
請輸入5個整數:
1 5 2 4 3
排序前: 1 5 2 4 3
排序後:5 3 2 4 1