蓝桥杯 JAVA 打印十字图

来源:互联网 发布:excel数据分类汇总表 编辑:程序博客网 时间:2024/05/02 19:10

这里写图片描述

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();        }    }}
0 0
原创粉丝点击