2015年蓝桥杯 题9 打印大X (打印题)

简介: 2015年蓝桥杯 题9 打印大X (打印题)

题目:


打印大X


小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。

为了便于比对空格,所有的空白位置都以句点符来代替。


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

要求输出一个大X


例如,用户输入:

3 7

程序应该输出:


***.....***
.***...***.
..***.***..
...*****...
....***....
...*****...
..***.***..
.***...***.
***.....***


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


再例如,用户输入:

4 21

程序应该输出


****................****
.****..............****.
..****............****..
...****..........****...
....****........****....
.....****......****.....
......****....****......
.......****..****.......
........********........
.........******.........
..........****..........
.........******.........
........********........
.......****..****.......
......****....****......
.....****......****.....
....****........****....
...****..........****...
..****............****..
.****..............****.
****................****



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


资源约定:

峰值内存消耗 < 256M

CPU消耗 < 1000ms

———————————————————————————————————


#include <iostream>
using namespace std;
#include <cstdio>
void creatpi(char a[][2000],int m,int n)
{
  for(int i=0;i<n;i++){              //打印左上角到右下角 
  for(int j=i;j<i+m;j++)
    a[i][j] = '*';
  }
  for(int i=n-1;i>=0;i--){    //打印左下角到右上角 
  for(int j=n-i-1;j<n-i+m-1;j++)
    a[i][j] = '*';
  }
}
void print(char a[][2000],int m,int n){
  for(int i=0;i<n;i++){
  for(int j=0;j<n+m-1;j++){
    if(a[i][j]!='*')
    a[i][j] = '.';
    printf("%c",a[i][j]);
  }
  printf("\n");
  }
}
int main()
{
  int n,m;
  char a[1000][2000];
  scanf("%d%d",&m,&n);
  creatpi(a,m,n);
  print(a,m,n);
  return 0;
}
相关文章
|
8月前
|
机器学习/深度学习 C语言
乘法口诀表打印进阶篇
乘法口诀表打印进阶篇
|
8月前
|
C#
技术经验分享:C#之打印乘法表
技术经验分享:C#之打印乘法表
53 0
技术经验分享:C#之打印乘法表
|
7月前
|
容器
打印
打印
66 0
|
9月前
|
安全 编译器 C语言
C++零基础教程(C++中的打印)
C++零基础教程(C++中的打印)
339 0
打印
4.6 打印 4.6.1 分页符的插入及删除 1、插入水平分页符 选定要插入分页符位置的下一行,在“页面布局”选项卡的“页面设置”组单击“分隔符”,在出现的下拉列表中选择”插入分页符”命令 2、插入垂直分页符 选定要插入分页符位置的右侧列,在“页面布局”选项卡的“页面设置”组单击“分隔符”,在出现的下拉列表中选择”插入分页符”命令。 3、同时插入水平、垂直分页符 选定某单元格,在“页面布局”选项卡的“页面设置”组单击“分隔符”,在出现的下拉列表中选择“插入分页符”命令此时会在该单元格左边框和上边框位置同时插入水平、垂直分页符。 4、删除手动分页符 先选择紧邻水平分页符的下面行 (或该行
7-164 打印杨辉三角
7-164 打印杨辉三角
71 0
|
开发者 Python
打印九九乘法表 | 学习笔记
快速学习打印九九乘法表
打印九九乘法表 | 学习笔记
|
机器学习/深度学习 C语言 开发者
打印|学习笔记
快速学习打印
110 0
打印|学习笔记
AcWing 815. 打印字符串
AcWing 815. 打印字符串
133 0
AcWing 815. 打印字符串