天天看點

基礎練習 字母圖形 -藍橋杯-Java

問題描述

利用字母可以組成一些美麗的圖形,下面給出了一個例子:

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;

public class Main{
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int m = sc.nextInt();
    char[][] ch = new char[n][];
    for (int i = 0; i < ch.length; i++) {
      ch[i] = new char[m];
      char g = 'A';
      for (int j = 0; j < ch[i].length; j++) {
        if(i == 0) {/ 第一行都是從A開始,随m增加而增加
          ch[i][j] = g;
          g++;
        } else if(j == 0) {/ 每行第一個都是上一行的下一個元素(除第一行)
          
          ch[i][j] = (char) (ch[i-1][j] + 1);
        } else {/ 每行除第一個都是上一行的相應列的角标減一
          ch[i][j] = ch[i-1][j-1];
        }
        
        System.out.print(ch[i][j]);
      }
      System.out.println();
    }   
  }
}      

分析: