【蓝桥杯】《试题 基础练习 字母图形》详解

  • Post author:
  • Post category:其他




一.问题描述

利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。



二.实现思路

我们可以观察第二行与第一行的ASCII码值(下述i和i分别代表行和列)

0行0列为65

1行0列为65+1,此时i=1,j=0。j<i

1行1列为65+0,此时i=1,j=1,j=i

1行2列为65+(2-1),此时i=1,j=2,j>i

2行0列为65+2,此时i=2,j=0,j<i

2行1列为65+1,此时i=2,j=1,j<i

2行2列为65+0,此时i=2,j=2,j=i

同过观察规律我们可以发现

当j<=i时,arr[i][j]=‘A’+(i-j)

当j>i时,arr[i][j]=‘A’+(j-i)

就得到了本题的答案

arr[i][j]=‘A’+Math.abs(i-j);



三.代码实现

public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n=scanner.nextInt();
        int m=scanner.nextInt();
        char[][] arr=new char[n][m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
            	
                arr[i][j]=(char)('A'+Math.abs(i-j));
            }
        }

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                System.out.print(arr[i][j]);
            }
            System.out.println();
        }
    }
}

以上就是我的解题思路以及实现方法,如果你喜欢我的文章的话记得点赞加收藏支持我一下哦~

想要获得更多资源,敬请关注“小呆呆学编程”微信公众号,你的关注就是我最大的动力!



版权声明:本文为qq_24462209原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。