import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
char[][] arr=new char[125][125];
int n=sc.nextInt();
int m=n*4+5;
int i,j;
//将二维数组全部打印为.
for (i = 0; i < m; i++) {
for ( j = 0; j < m; j++) {
arr[i][j]='.';
}
}
//打印中间的十字
//arr[m/2][m/2]='$';
//打印十字的横
for (i=-2; i<=2; i++) {
arr[m/2+i][m/2]='$';
}
//打印十字的竖
for (j=-2; j<=2; j++) {
arr[m/2][m/2+j]='$';
}
//打印十字的外围两横两竖
int di=0,dj=m;
int dx=0,dy=m;
while (n>0) {
di=di+2;
dj=dj-2;
for (i=di;i<dj;i++) {
arr[i][dx]='$'; //左竖
arr[i][dy-1]='$'; //右竖
arr[dx][i]='$'; //上横
arr[dy-1][i]='$'; //下横
}
//再打印横竖间相连接的三个位置
arr[dx+1][di]='$';
arr[dy-1-1][di]='$';
arr[dx+2][di]='$';
arr[dy-1-2][di]='$';
arr[dx+1][dj-1]='$';
arr[dy-1-1][dj-1]='$';
arr[dx+2][dj-1]='$';
arr[dy-1-2][dj-1]='$';
arr[di][dx+1]='$';
arr[di][dy-1-1]='$';
arr[dj-1][dx+1]='$';
arr[dj-1][dy-1-1]='$';
dx=dx+2;
dy=dy-2;
n--;
}
for (int k = 0; k <m; k++) {
for (int k2 = 0; k2 < m; k2++) {
System.out.print(arr[k][k2]);
}
System.out.println();
}
}
}
蓝桥杯 JAVA 打印十字图
最新推荐文章于 2021-02-25 00:52:54 发布