zoukankan      html  css  js  c++  java
  • 蓝桥杯-打印大X-java

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

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

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

    * All rights reserved.

    * 文件名称: 蓝桥杯赛题                           

    * 作    者:   彭俊豪               

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

    * 版 本 号:      001   

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

    * 问题描述:

    小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。
    为了便于比对空格,所有的空白位置都以句点符来代替。

    要求输入两个整数m n,表示笔的宽度,X的高度。用空格分开(0<m<n, 3<n<1000, 保证n是奇数)
    要求输出一个大X

    例如,用户输入:
    3 9
    程序应该输出:
    ***.....***
    .***...***.
    ..***.***..
    ...*****...
    ....***....
    ...*****...
    ..***.***..
    .***...***.
    ***.....***

    (如有对齐问题,参看【图1.jpg】)

    再例如,用户输入:
    4 21
    程序应该输出
    ****................****
    .****..............****.
    ..****............****..
    ...****..........****...
    ....****........****....
    .....****......****.....
    ......****....****......
    .......****..****.......
    ........********........
    .........******.........
    ..........****..........
    .........******.........
    ........********........
    .......****..****.......
    ......****....****......
    .....****......****.....
    ....****........****....
    ...****..........****...
    ..****............****..
    .****..............****.
    ****................****

    (如有对齐问题,参看【图2.jpg】)

     

    * 程序头部的注释结束

    */

    上代码:

    import java.util.Scanner;

    public class Main {

      public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int n = sc.nextInt();

        int width = m+n-1;
        String arr[][] = new String[n][width];

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

        for (int i = 0; i < n ; i++) {
          for (int j = i; j < i+m; j++) {
            arr[i][j] = "*";
          }
        }

        for (int i = 0; i < n ; i++) {
          for (int j = width-i-m; j < width-i; j++) {
            arr[i][j] = "*";
          }
        }

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

    }

  • 相关阅读:
    运动员排成绩————————对多个数组进行排序
    关于指针 用字符数组,字符指针变量输入字符串 动态为字符型指针变量分配内存
    axel 原来求中点我想复杂了 两个结果一样
    Bezier曲线绘制 B样条绘制
    最大的回文子串
    字符数组
    按位与、或、异或等运算方法
    uniapp mixin 使用
    vue mixin执行覆盖
    windows10 安装NASM
  • 原文地址:https://www.cnblogs.com/pengjunhao/p/6674121.html
Copyright © 2011-2022 走看看