1. 程式人生 > >藍橋杯 演算法提高 陣列輸出

藍橋杯 演算法提高 陣列輸出


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); } }