有一个5行4列的整形二维数组,请找出该二维组数中的最大值和最小值,并互换这两个数的位置。
输入格式:
请输入20个整数,数据之间只能用1个空格间隔。
输出格式:
在一行中按照“max=最大值,min=最小值”的格式输出结果,最大值和最小值均原样输出,没有列宽控制。 在下一行中输出交换完最大值和最小值的二维数组,每个数据输出占5列,右对齐。
输入样例:
55 14 13 10
20 34 21 11
89 13 45 14
9 5 18 77
90 22 38 82
输出样例:
max=90,min=1
55 14 13 10
20 34 21 11
89 13 45 14
9 90 18 77
5 22 38 82
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a[]=new int[20];
for (int i=0;i<20;i++){
a[i] = sc.nextInt();
}
int index_max=0;
int max=a[0];
int index_min=0;
int min=a[1];
for (int i=1;i<20;i++){
if (a[i]>max){
index_max=i;
max=a[i];
}else if (a[i]<min){
index_min=i;
min=a[i];
}
}
System.out.println("max="+max+",min="+min);
int tem=a[index_max];
a[index_max]=a[index_min];
a[index_min]=tem;
for (int j=0;j<5;j++){
int i=0;
for (;i<3;i++){
System.out.printf("%5s",a[j*4+i]);
}
System.out.printf("%5s",a[j*4+i]);
System.out.println();
}
}
}