题目描述:
数组元素交换,要求:(1)最大的元素与第一个元素交换(2)最小的元素与最后一个元素交换。
输入格式:
输入一行字符串(由不同的整数组成,以空格分开)
输出格式:
首先以数组形式输出初始字符串(一行一个数字),然后以数组形式输出完成交换后的字符串(一行一个数字)。
输入样例:
2 9 0 10
输出样例:
2
9
0
10
10
9
2
0
答案:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s = str.split(" ");
int[] arr = new int[s.length];
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
arr[i] = Integer.parseInt(s[i]);
}
int maxIndex = 0;
int minIndex = 0;
for (int i = 0; i < arr.length; i++) {
if(arr[maxIndex]<arr[i]){
maxIndex = i;
}
if(arr[minIndex]>arr[i]){
minIndex = i;
}
}
//最大值跟第一个元素换位置
int temp = arr[maxIndex];
arr[maxIndex] = arr[0];
arr[0] = temp;
//最小值跟最后一个元素换位置
temp = arr[minIndex];
//将排序后的结果打印
arr[minIndex] = arr[arr.length-1];
arr[arr.length-1] = temp;
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
解析:
题简单,做题的人不简单!
你我共勉!!!