Java经典算法40例(三十五)

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

代码:

import java.util.Scanner;

/**
 * 交换
 * @author cheng
 *
 */
public class ThirtyFive {
    public static void main(String[] args) {
        int max=0,min=0;
        int temp1=0,temp2=0;
        System.out.println("请输入数组的长度");
        Scanner scanner=new Scanner(System.in);
        int length=scanner.nextInt();
        int[] array=new int[length];
        for(int i=0;i<array.length;i++){
            System.out.println("请输入第"+(i+1)+"个数");
            array[i]=scanner.nextInt();
        }
        for(int i=0;iif(array[i]>array[max]){
                max=i;
            }
            if(array[i]<array[min]){
                min=i;
            }
        }
        temp1=array[0];
        array[0]=array[max];
        array[max]=temp1; //交换array[0]和最大值array[max]

        if(min!=0){
            temp2=array[min];
            array[min]=array[length-1];
            array[length-1]=temp2;
        }else{
            array[max]=array[length-1];
            array[length-1]=temp1;
        }
        System.out.println("排序后");
        for(int i=0;i<array.length;i++){
            System.out.println(array[i]);
        }
        scanner.close();
    }
}

输出结果:

请输入数组的长度
5
请输入第1个数
3
请输入第2个数
2
请输入第3个数
9
请输入第4个数
6
请输入第5个数
4
排序后
9
4
3
6
2

你可能感兴趣的:(java)