import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
System.out.println("您要输入几个数?"); //记录用户需要输入的数组元素个数
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
Scanner sc1=new Scanner(System.in);
int[] arr=new int[N];
for(int i=0;i<N;i++){ //循环监听键入
arr[i]=sc1.nextInt();
}
int min=arr[0];
int zuixiao=0;
int zuida=0;
for(int i1=0;i1<arr.length;i1++){ //选出最小值,并记录角标
if(arr[i1]<min){
min=arr[i1];
zuixiao=i1;
}
}
int max=arr[0];
for(int i2=0;i2<arr.length;i2++){ //选出最大值,并记录角标
if(arr[i2]>max){
max=arr[i2];
zuida=i2;
}
}
System.out.println(min);
System.out.println(max);
if(arr[0]==min){ //最小的如果此时在第一位,因为下一步要把最大和第一位换位置,所以要提前把最大的角标赋给最小,以便下边最小与最后交换使用
zuixiao=zuida;
}
int a=arr[0]; //最大与第一个换位
arr[0]=max;
arr[zuida]=a;
if(arr[arr.length-1]!=min){
int b=arr[arr.length-1]; //最小与最后1个换位
arr[arr.length-1]=min;
arr[zuixiao]=b;
}
for(int n:arr){
System.out.print(n+" ");
}
}
}
输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
最新推荐文章于 2024-04-20 08:15:00 发布