Java 蓝桥杯 字母图形

题目描述

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

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

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

输入
输入描述:
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输入样例:
5 7

输出

输出描述:
输出n行,每个m个字符,为你的图形。
输出样例:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

解题思路

因为是找规律的题,它又给了数字,我们就可以把字母换成他们对应的ASCII码值,就像这样:
97 98 99 100 101 102 103
98 97 98 99 100 101 102
99 98 97 98 99 100 101
100 99 98 97 98 99 100
101 100 99 98 97 98 99
可以发现它们的值就是它们所在行和列差的绝对值+A的ASCII值 接下啦就是两个for循环的事情啦。

代码

import java.util.Scanner;

public class Main {
    
    

    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        int n = scanner.nextInt();
        for (int i = 0; i < m; i++) {
    
     //行循环
            for (int j = 0; j< n; j++) {
    
     //列循环
                char x = (char)(Math.abs(i - j) + 'A'); //单个字母的值
                System.out.print(x);
            }
            System.out.println();//每输入完一行 换行
        }
    }
}

流程图

Created with Raphaël 2.3.0 开始 定义m,n来接收行和列的值 定义i=0 定义j=0 i<m i累加 j<n 计算每个位置的ASCII码值并转化为字母 并输出 换行 j累加 结束 yes no yes no

猜你喜欢

转载自blog.csdn.net/joreng/article/details/121530191