35 【程序 35 最大最小交换】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
源码:
package com.homework.test;
import java.util.Scanner;
/*
35 【程序 35 最大最小交换】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
*/
public class Test35 {
public static void main(String[] args) {
int N = 8;
int[] a = new int[N];// 创建一个八个元素的数组
Scanner s = new Scanner(System.in);
int idx1 = 0, idx2 = 0;
System.out.println("请输入8个整数:");
for (int i = 0; i < N; i++) {
a[i] = s.nextInt();
}
// 获得输入的八个数字
System.out.println("你输入的数组为:");
for (int i = 0; i < N; i++) {
System.out.print(a[i] + " ");
}
// 输出输入的数组
int max = a[0], min = a[0];
for (int i = 0; i < N; i++) {
if (a[i] > max) {
max = a[i];
idx1 = i;
}
// 找出最大的数和其下标
if (a[i] < min) {
min = a[i];
idx2 = i;
}// 找出最大的数和其下标
}
if (idx1 != 0) {
int temp = a[0];
a[0] = a[idx1];
a[idx1] = temp;
}// 最大的数和第一个数交换位置
if (idx2 != N - 1) {
int temp = a[N - 1];
a[N - 1] = a[idx2];
a[idx2] = temp;
}// 最小的数和最后一个数交换位置
System.out.println("
交换后的数组为:");
for (int i = 0; i < N; i++) {
System.out.print(a[i] + " ");
}
}
}