Java基础50道经典练习题(35)——最大最小交换
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("\n交换后的数组为:"); for (int i = 0; i < N; i++) { System.out.print(a[i] + " "); } } }
今日事,今日毕。
posted on 2020-06-06 04:29 lifelicanpeng 阅读(483) 评论(0) 编辑 收藏 举报