[Java] 藍橋杯PREV-2 歷屆試題 列印十字圖
問題描述
小明為某機構設計了一個十字型的徽標(並非紅十字會啊),如下所示:
..$$$$$$$$$$$$$..
..$………..$..
$$$.$$$$$$$$$.$$$
$…$…….$…$
$.$$$.$$$$$.$$$.$
$.$…$…$…$.$
$.$.$$$.$.$$$.$.$
$.$.$…$…$.$.$
$.$.$.$$$$$.$.$.$
$.$.$…$…$.$.$
$.$.$$$.$.$$$.$.$
$.$…$…$…$.$
$.$$$.$$$$$.$$$.$
$…$…….$…$
$$$.$$$$$$$$$.$$$
..$………..$..
..$$$$$$$$$$$$$..
輸入格式
一個正整數 n (n<30) 表示要求列印圖形的層數。
輸出格式
對應包圍層數的該標誌。
樣例輸入1
1
樣例輸出1
..$$$$$..
..$…$..
$$$.$.$$$
$…$…$
$.$$$$$.$
$…$…$
$$$.$.$$$
..$…$..
樣例輸入2
3
樣例輸出2
..$$$$$$$$$$$$$..
..$………..$..
$$$.$$$$$$$$$.$$$
$…$…….$…$
$.$$$.$$$$$.$$$.$
$.$…$…$…$.$
$.$.$$$.$.$$$.$.$
$.$.$…$…$.$.$
$.$.$.$$$$$.$.$.$
$.$.$…$…$.$.$
$.$.$$$.$.$$$.$.$
$.$…$…$…$.$
$.$$$.$$$$$.$$$.$
$…$…….$…$
$$$.$$$$$$$$$.$$$
..$………..$..
提示
請仔細觀察樣例,尤其要注意句點的數量和輸出位置。
package prev2; import java.util.Scanner; public class Main { public static char[][] symbol = null; public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int l = n * 4 + 5; in.close(); symbol = new char[l][l]; print(n, 0, 0, l, l); } public static void print(int n, int srow, int scol, int erow, int ecol) { for (int i = srow; i < erow; i++) { for (int j = scol; j < ecol; j++) { if ((i == srow || i == erow) && j >= scol + 2 && j < ecol - 2) { symbol[i][j] = '$'; } else if ((j == scol || j == ecol) && i >= srow + 2 && j < erow - 2) { symbol[i][j] = '$'; } else { symbol[i][j] = '.'; } } } System.out.println(symbol); } }ofollow,noindex" target="_blank">❤❤點選這裡 -> 訂閱PAT、藍橋杯、GPLT天梯賽、LeetCode題解離線版❤❤
