【計蒜客】矩陣翻轉
阿新 • • 發佈:2018-11-08
題目描述
曉萌最近在做一個翻轉圖片的應用,你可能也知道,圖片其實是由一個個的點組成的。
於是,曉萌想先做一個可以翻轉矩陣的程式,來解決他問題的核心部分。
輸入格式
輸入第一行包括由空格分開的整數 M,N,T(0 < N,M < 200),T的值為 0或 1。
其中 M和 N分別表示待處理矩陣的行數與列數,T為 0時表示左右翻轉,為 1時表示上下翻轉。
之後的 M行,每行包括由空格分隔的 N個整數,依次為輸入矩陣的每一行的資料。
輸出格式
輸出包括 M行 N列,每個數字之間用一個空格分隔,每一行行末均有一個空格,表示的是按照要求翻轉後的矩陣。
樣例輸入
4 4 1
1 2 3 4
5 6 7 8
9 0 1 2
3 4 5 6
樣例輸出
3 4 5 6
9 0 1 2
5 6 7 8
1 2 3 4
AC程式碼
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int row = sc.nextInt(); int col = sc.nextInt(); int flag = sc.nextInt(); int[][] arr = new int[row][col]; for(int i = 0; i < row; i++){ for(int j = 0; j < col; j++){ arr[i][j] = sc.nextInt(); } } int temp = 0; if(flag == 0){ for(int j = 0; j < col/2; j++){ for(int i = 0; i < row; i++){ temp = arr[i][j]; arr[i][j] = arr[i][col-j-1]; arr[i][col-j-1] = temp; } } } if(flag == 1){ for(int i = 0; i < row/2; i++){ for(int j = 0; j < col; j++){ temp = arr[i][j]; arr[i][j] = arr[row-i-1][j]; arr[row-i-1][j] = temp; } } } for(int i = 0; i < row; i++){ for(int j = 0; j < col; j++){ System.out.print(arr[i][j]+" "); } System.out.println(); } } }