藍橋杯 演算法提高 陣列輸出
阿新 • • 發佈:2019-02-08
import java.util.Scanner;
/**
* <pre>
* 演算法提高 陣列輸出
時間限制:1.0s 記憶體限制:512.0MB
輸入一個3行4列的陣列,找出該陣列中絕對值最大的元素、輸出該元素及其兩個下標值。如有多個輸出行號最小的,還有多個的話輸出列號
最小的。
樣例輸入
1 2 3 5
-2 5 8 9
6 -7 5 3
樣例輸出
9 2 4
* <pre>
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] arr = new int[3][4];
for (int i=0; i<3; i++) {
for (int j=0; j<4; j++ ) {
arr[i][j] = sc.nextInt();
}
}
int max = 0 ;
int x = 0;
int y = 0;
for (int i=0; i<3; i++) {
for (int j=0; j<4; j++ ) {
if (Math.abs(arr[i][j]) > max ) {
max = Math.abs(arr[i][j]);
x = i ;
y = j ;
}
}
}
/*因為題目要求的下標是從1開始的,所以這裡都加1
為什麼不在if結構里加一呢? 因為所有元素都是0的情況,
所有迴圈都不會進入if結構
*/
x++;
y++;
System.out.println(max+" "+x+" "+" "+y);
}
}