藍橋杯 JAVA 字母圖形
阿新 • • 發佈:2019-01-23
問題描述
利用字母可以組成一些美麗的圖形,下面給出了一個例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
這是一個5行7列的圖形,請找出這個圖形的規律,並輸出一個n行m列的圖形。
輸入格式
輸入一行,包含兩個整數n和m,分別表示你要輸出的圖形的行數的列數。
輸出格式
輸出n行,每個m個字元,為你的圖形。
樣例輸入
5 7
樣例輸出
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
資料規模與約定
1 <= n, m <= 26。
import java.util.Scanner;
/**
* 思路:構造一個字串51個字母,因為每行的輸出都可以看做兩部分..DCB||ABCD...類似於這種形式
* (1)第一個for迴圈來構造字元序列,採用的是字母的ASCII碼值
* (2)第二個for迴圈包含兩個for迴圈,第一個for就是輸出每行的字元序列,第二個for迴圈就是調整構造的第一個ch字元陣列的字母順序,
* 使其成為一個新的順序序列,進行下輪外層迴圈輸出
* @author liyongyong
*
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
char ch[] = new char[51];
for (int i = 0; i < 26; i++) {
ch[i] = (char ) (i + 65);
ch[50 - i] = (char) (65 + i);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++){
System.out.print(ch[j]);
}
System.out.println();
for (int j = 49; j >= 0; j--){
ch[j + 1 ] = ch[j];
}
ch[0] = ch[50];
}
}
}