题目:
一开始看到这个问题的时候自己也是完全找不到头脑,而且经过仔细一想之后,这个图本身就有误导作用,因为它看起来根本就是像一个长方形,会严重影响你的思路,建议大家在草稿纸上重新把图画一下,然后你会发现这是一个正方形,并且这个图和标准正方形一样拥有四个对称轴,然后你就会发现其实不难。
我的思路是:完成它的一半,然后根据对称原则复制另半个正方形。
根据图上线索,你会发现再多层的十字图由内到外都有一个规律,依次是1,5,9,13个美元符递增4个,并且竖着的行每第一个和最后一个美元符向下产生两个符号,你会发现,当你想到这一步时,算法基本上也就可以去实现了。
以下是java算法:
import java.util.Scanner;
//打印十字
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt();
int row = 4*x+5;
int col = row;
//全部定义为.的二维字符数组
char word[][] = new char[row][col];
for(int m=0;m<row;m++) {
for(