zoukankan      html  css  js  c++  java
  • 蓝桥杯-打印十字图-java

    /* (程序头部注释开始)

    * 程序的版权和版本声明部分

    * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 

    * All rights reserved.

    * 文件名称: 蓝桥杯赛题                           

    * 作    者:   彭俊豪               

    * 完成日期:   2016   年 04月 01日

    * 版 本 号:      001   

    * 对任务及求解方法的描述部分

    * 问题描述:

    小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)


    对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。

    为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。

    * 输入描述:   标准输入输出

    * 程序输出:  请仔细观察样例,尤其要注意句点的数量和输出位置。

    * 程序头部的注释结束

    */

    上代码:

    import java.util.Scanner;

      public class Main {

        public static void main(String[] args) {
          Scanner sc = new Scanner(System.in);
          int n = sc.nextInt();
          int length = 4*n+5;
          int zx = length/2;
          String arr[][] = new String[length][length];

          for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length; j++) {
              arr[i][j] = ".";
            }
          }

          for (int i = zx-2; i < zx+3; i++) {
            arr[i][zx] = "$";
            arr[zx][i] = "$";
          }

        //控制外圈的循环次数,重点!!!
          for (int m = 0; m < n; m++) {

            for (int i = zx-(2+m*2); i <= zx+2+2*m; i++) {
              arr[zx-(4+m*2)][i] = "$";
              arr[zx+4+m*2][i] = "$";
              arr[i][zx-(4+m*2)] = "$";
              arr[i][zx+4+m*2] = "$";
            }

            for (int i = 1; i <= zx-(2*m+2); i++) {
              arr[zx-(2*m+2)][i] = "$";
              arr[zx+2+2*m][i] = "$";
              arr[i][zx-(2*m+2)] = "$";
              arr[i][zx+2+2*m] = "$";
            }

            for (int i = zx+2*m+2; i <= arr.length-1; i++) {
              arr[zx+2*m+2][i] = "$";
              arr[zx-2-2*m][i] = "$";
              arr[i][zx+2*m+2] = "$";
              arr[i][zx-2-2*m] = "$";
            }

          //消除多余出来的$
          for (int i = zx-m*2; i < zx+m*2; i++) {
            arr[zx-(3+m*2)][i] = ".";
            arr[zx-(3+m*2)][i] = ".";
            arr[zx+3+m*2][i] = ".";
            arr[zx+3+m*2][i] = ".";
            arr[i][zx-(3+m*2)] = ".";
            arr[i][zx-(3+m*2)] = ".";
            arr[i][zx+3+m*2] = ".";
            arr[i][zx+3+m*2] = ".";
          }
        }

          for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length; j++) {
              System.out.print(arr[i][j]);
            }
          System.out.println();
        }
      }

    }

  • 相关阅读:
    Error Boundaries 错误边界
    判断机型
    iframe
    C#中静态方法和非静态方法的区别
    C#制作ActiveX控件中调用海康SDK的问题
    C# 程序集
    web deploy 部署网站
    C# 提取PPT文本和图片的实现方案
    C#调用webservice
    C#中四步轻松使用log4net记录本地日志
  • 原文地址:https://www.cnblogs.com/pengjunhao/p/6670165.html
Copyright © 2011-2022 走看看