Java藍橋模擬戰——字母圖形

資源限制

時間限制:1.0s 內存限制:256.0MB

問題描述

利用字母可以組成一些美麗的圖形,下面給出了一個例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
這是一個5行7列的圖形,請找出這個圖形的規律,並輸出一個n行m列的圖形。

輸入格式

輸入一行,包含兩個整數n和m,分別表示你要輸出的圖形的行數的列數。

輸出格式

輸出n行,每個m個字符,爲你的圖形。

樣例輸入

5 7

樣例輸出

ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

數據規模與約定

1 <= n, m <= 26。

代碼1——二維數組:

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int m = in.nextInt();
		in.close();
		char[][] a= new char[n][m];
		if(n>=1 && m<=26)
		for(int i =0;i<n;i++) {
			for(int j =0;j<m;j++) {
				if(j==i) {
					a[i][j] = (char)('A'+0);
				}
				else {
					a[i][j] =(char)('A'+Math.abs(i-j));
				}
				System.out.print(a[i][j]);
			}
			System.out.println();
		}
	}
}

代碼二——一維數組:

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 [] a = new char [26] ;
			char c = 'A';
			for(int i = 0; i < 26; i++ ) {
				a[i] =(char)( c + i ) ;
			}
			for( int i = 0 ; i < n ; i++ ) {
				for( int j = i ; j >= 0 ; j-- )
					System.out.print(a[j]);
				for( int k = 1 ; k < m - i ; k++ )
					System.out.print(a[k]);
				System.out.println();
			}
		}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章