题目描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
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();//每输入完一行 换行
}
}
}
该博客介绍了一种通过观察ASCII码值找出给定图形的规律,并使用Java实现按规律输出n行m列图形的方法。解题思路是将字母转换为ASCII码值,根据行和列的差值计算每个位置的字母,最后通过双层循环输出图形。
503

被折叠的 条评论
为什么被折叠?



