【王道JAVA】【程序 35 最大最小交換】

題目:輸入數組,最大的與第一個元素交換,最小的與最後一個元素交換,輸出數組。

import java.util.Scanner;

public class WangDao {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int[] a = new int[100];
		int count = 0;
		System.out.println("Input the array(end when entering 'end'): ");
		while (scan.hasNextInt()) {	// 因爲不知道數組長度,所以用end作爲結束標記。
			a[count++] = scan.nextInt();
		}
		changeMax(a, count);	// 最大放首位。
		changeMin(a, count);	// 最小放末尾。
		for (int i = 0; i < count; i++) {
			System.out.print(a[i] + " ");
		}
	}
	
	public static void changeMax(int[] a, int count) {
		int max = 0;
		for (int i = 0; i < count; i++) {
			if (a[i] > a[max]) {
				max = i;
			}
		}
		if (max != 0) {
			int temp = a[max];
			a[max] = a[0];
			a[0] = temp;
		}
	}
	
	public static void changeMin(int[] a, int count) {
		int min = count - 1;
		for (int i = 0; i < count; i++) {
			if (a[i] < a[min]) {
				min = i;
			}
		}
		if (min != count - 1) {
			int temp = a[min];
			a[min] = a[count - 1];
			a[count - 1] = temp;
		}
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章