蓝桥杯——打印十字图

历届试题 打印十字图
时间限制:1.0s 内存限制:256.0MB

问题描述

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

<script id="MathJax-Element-1535" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1536" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1537" type="math/tex; mode=display"></script> .... ........... ..
.
$.
....... .
$.
$.
.
. ... .
..
$.$.
. .. . .... .
.. .
. . .. . .... .
..
$.$.
. .. .... .
$.
$.
.
...……. ...
$.
<script id="MathJax-Element-1580" type="math/tex; mode=display"></script>
$.
.. ........... ....
<script id="MathJax-Element-1584" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1585" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1586" type="math/tex; mode=display"></script>..

对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。
输入格式
一个正整数 n (n<30) 表示要求打印图形的层数。
输出格式
对应包围层数的该标志。
样例输入1
1
样例输出1
..

<script id="MathJax-Element-1587" type="math/tex; mode=display"></script> .... ... ..
.$.
...
.
. ...
$.$.
.. ... ....
<script id="MathJax-Element-1600" type="math/tex; mode=display"></script>..
样例输入2
3
样例输出2
..
<script id="MathJax-Element-1601" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1602" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1603" type="math/tex; mode=display"></script> .... ........... ..
.
$.
....... .
$.
$.
.
. ... .
..
$.$.
. .. . .... .
.. .
. . .. . .... .
..
$.$.
. .. .... .
$.
$.
.
...……. ...
$.
<script id="MathJax-Element-1646" type="math/tex; mode=display"></script>
$.
.. ........... ....
<script id="MathJax-Element-1650" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1651" type="math/tex; mode=display"></script>
<script id="MathJax-Element-1652" type="math/tex; mode=display"></script>..
提示
请仔细观察样例,尤其要注意句点的数量和输出位置。
找规律即可,但是不是太好找。

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char c[333][333];

int main()
{
    int n,i,j,t,k,m;
    scanf("%d",&n);
    k=4*n+5;
    m=2*n+3;
    for(i=1;i<=k;i++)
        for(j=1;j<=k;j++)
        c[i][j]='.';
    for(i=m-2;i<=m+2;i++)//打印中心的
        c[i][m]=c[m][i]='$';
    t=0;

    while(t<=n)
    {

        for(i=m-2*t;i<=m+2*t;i++)
            c[i][m-2-2*t]=c[i][m+2+2*t]=c[m-2-2*t][i]=c[m+2+2*t][i]='$';
        int l=m-2-2*t,r=m+2+2*t;
        //四个角落
        c[l][l]=c[l-1][l]=c[l][l-1]='$';
        c[l][r]=c[l-1][r]=c[l][r+1]='$';
        c[r][r]=c[r+1][r]=c[r][r+1]='$';
        c[r][l]=c[r+1][l]=c[r][l-1]='$';
        t++;

    }
    //把最外层的四个角还原
    c[1][k]=c[k][1]=c[1][1]=c[k][k]='.';

    for(i=1;i<=k;i++)
    {
        for(j=1;j<=k;j++)
            printf("%c",c[i][j]);
        cout<<endl;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值