天天看點

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

基礎練習 字母圖形

時間限制:1.0s 記憶體限制:256.0MB

送出此題 錦囊1 錦囊2

問題描述

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

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

這是一個5行7列的圖形,請找出這個圖形的規律,并輸出一個n行m列的圖形。

輸入格式

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

輸出格式

輸出n行,每個m個字元,為你的圖形。

樣例輸入

5 7

樣例輸出

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

資料規模與約定

1 <= n, m <= 26。

這裡可能會看起來很迷茫 大概來說一下 都是以A為标準對稱來做的,我們可以把A當作标準 可以看到每增加一行A的位置就往後移一行就可以用for循環來進行修改 65就是A的ASCII值 用char來弄每一個字母

import java.util.Scanner;

public class 字母圖形 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt(); 
		int m = sc.nextInt(); 
		for(int i = 0 ; i < n; i++) {
			for(int j = 0 ; j < m ;j++) {
				char c = (char)(Math.abs(i - j) + 'A');
				System.out.print(c);
			}
			System.out.println();
		}
	}
}

           
import java.util.Scanner;


public class 字母圖形 {
	public static void main(String[]args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int[][]array = new int[n][m];
		for(int i=0;i<array.length;i++){
			for(int j=0;j<m;j++){
				if(i==j){
					array[i][j] = 65;
				}else if(j>i){
					array[i][j] = array[i][j-1]+1;
				}else if(j<i){
					array[i][j] = array[i-1][j]+1;
				}
				System.out.print((char)array[i][j]);
			}
			System.out.println();
		}
	}

	

}