输入n个不同的整数,交换其最大数和最小数后输出这些数,数字之间用一个空格分隔。

输入格式:

整数n

以空格分隔的n个整数

输出格式:

以空格分隔的交换后的n个整数

输入样例:

5

1 2 3 4 5

输出样例:

5 2 3 4 1

最烦的是哪个格式,我新建了一个数组,就是为了那个格式要求。这局是个参考。

import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s=new Scanner(System.in);
	
		int n=s.nextInt();
		int max,min;
		int[] array=new int[n];
		int[] array1=new int[n];
		//输入数组
		for(int i=0; i<n; i++) {
			array[i]=s.nextInt();
		}
		//寻找最大最小值
		min=array[0];
		max=array[0];
		for(int j=0; j<n; j++) {
			if(array[j]>max) {
				max=array[j];
			}
			if(array[j]<min) {
				min=array[j];
			}
		}
		//进行调序,将最大最小位置互换,并存到新数组
		for(int m=0; m<n; m++) {
			if(array[m]==max) {
				array1[m]=min;
			}
			else if(array[m]==min) {
				array1[m]=max;
			}
			else {
			array1[m]=array[m];
			}
		}

        //输出新数组,注意格式
		for(int l=0; l<n; l++) {
			if(l!=(n-1)) {
				System.out.printf("%d ", array1[l]);
			}
			else {
				System.out.printf("%d", array1[l]);
			}
		}
		

	}

}

你可能感兴趣的:(输入n个不同的整数,交换其最大数和最小数后输出这些数,数字之间用一个空格分隔。)