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

    问题描述

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

    ..$$$$$$$$$$$$$..
    ..$...........$..
    $$$.$$$$$$$$$.$$$
    $...$.......$...$
    $.$$$.$$$$$.$$$.$
    $.$...$...$...$.$
    $.$.$$$.$.$$$.$.$
    $.$.$...$...$.$.$
    $.$.$.$$$$$.$.$.$
    $.$.$...$...$.$.$
    $.$.$$$.$.$$$.$.$
    $.$...$...$...$.$
    $.$$$.$$$$$.$$$.$
    $...$.......$...$
    $$$.$$$$$$$$$.$$$
    ..$...........$..
    ..$$$$$$$$$$$$$..

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

    输入格式
    一个正整数 n (n<30) 表示要求打印图形的层数。
    输出格式
    对应包围层数的该标志。
    样例输入1
    1
    样例输出1
    ..$$$$$..
    ..$...$..
    $$$.$.$$$
    $...$...$
    $.$$$$$.$
    $...$...$
    $$$.$.$$$
    ..$...$..
    ..$$$$$..
    样例输入2
    3
    样例输出2
    ..$$$$$$$$$$$$$..
    ..$...........$..
    $$$.$$$$$$$$$.$$$
    $...$.......$...$
    $.$$$.$$$$$.$$$.$
    $.$...$...$...$.$
    $.$.$$$.$.$$$.$.$
    $.$.$...$...$.$.$
    $.$.$.$$$$$.$.$.$
    $.$.$...$...$.$.$
    $.$.$$$.$.$$$.$.$
    $.$...$...$...$.$
    $.$$$.$$$$$.$$$.$
    $...$.......$...$
    $$$.$$$$$$$$$.$$$
    ..$...........$..
    ..$$$$$$$$$$$$$..
    提示
    请仔细观察样例,尤其要注意句点的数量和输出位置。
     
     
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 #include<math.h>
     6 using namespace std;
     7 char a[1002][1002];
     8 int main()
     9 {
    10     int k,s,n;
    11     while(~scanf("%d",&k))
    12     {
    13         s=0; n=5+(4*k);
    14         for(int i=0;i<n;i++)
    15             for(int j=0;j<n;j++)
    16                 a[i][j]='.';
    17         for(int i=0;i<k;i++)
    18         {
    19             for(int j=s+2;j<n-2-s;j++)
    20             {
    21                 a[s][j]='$';
    22                 a[n-1-s][j]='$';
    23                 a[j][s]='$';
    24                 a[j][n-1-s]='$';
    25             }
    26             for(int j=s;j<=s+2;j++)
    27             {
    28                 a[j][s+2]='$';
    29                 a[s+2][j]='$';
    30                 a[n-1-s-2][j]='$';
    31                 a[j][n-1-s-2]='$';
    32             }
    33             for(int j=n-1-s-2;j<=n-1-s;j++)
    34             {
    35                 a[n-1-s-2][j]='$';
    36                 a[j][n-1-s-2]='$';
    37                 a[j][s+2]='$';
    38                 a[s+2][j]='$';
    39             }
    40             s+=2;
    41         }s+=2;
    42         for(int j=s;j<=s+2;j++)
    43         {
    44             a[j][s]=a[s][j]='$';
    45         }
    46         for(int j=s;j>=s-2;j--)
    47         {
    48             a[j][s]=a[s][j]='$';
    49         }
    50         for(int i=0;i<n;i++)
    51             {
    52                 for(int j=0;j<n;j++)
    53                     printf("%c",a[i][j]);
    54                 printf("
    ");
    55             }
    56     }
    57     return 0;
    58 }
  • 相关阅读:
    验证码
    Linux 常用命令
    WTM_LayUI 二级联动
    文件上传漏洞及绕过
    Web For Pentester靶场(xss部分)
    文件上传漏洞fuzz字典生成脚本小工具分享
    两种搭建个人博客方法
    DVWA(xss部分源码分析)
    xss小游戏源码分析
    linux下启动tomcat报错:The BASEDIR environment...
  • 原文地址:https://www.cnblogs.com/assult/p/3561152.html
Copyright © 2011-2022 走看看