zoukankan      html  css  js  c++  java
  • 历届试题 打印十字图

      历届试题 打印十字图  

    时间限制:1.0s   内存限制:256.0MB
          
    问题描述

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

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

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

    输入格式
    一个正整数 n (n<30) 表示要求打印图形的层数。
    输出格式
    对应包围层数的该标志。
    样例输入1
    1
    样例输出1
    ..$$$$$..
    ..$...$..
    $$$.$.$$$
    $...$...$
    $.$$$$$.$
    $...$...$
    $$$.$.$$$
    ..$...$..
    ..$$$$$..
    样例输入2
    3
    样例输出2
    ..$$$$$$$$$$$$$..
    ..$...........$..
    $$$.$$$$$$$$$.$$$
    $...$.......$...$
    $.$$$.$$$$$.$$$.$
    $.$...$...$...$.$
    $.$.$$$.$.$$$.$.$
    $.$.$...$...$.$.$
    $.$.$.$$$$$.$.$.$
    $.$.$...$...$.$.$
    $.$.$$$.$.$$$.$.$
    $.$...$...$...$.$
    $.$$$.$$$$$.$$$.$
    $...$.......$...$
    $$$.$$$$$$$$$.$$$
    ..$...........$..
    ..$$$$$$$$$$$$$..
    提示
    请仔细观察样例,尤其要注意句点的数量和输出位置。
     
     #include<cstdio>
     #include<cstring>
      #include<iostream>
      #include<algorithm>
      #include<math.h>
      using namespace std;
      char a[1002][1002];
      int main()
      {
         int k,s,n;
         while(~scanf("%d",&k))
         {
             s=0; n=5+(4*k);
             for(int i=0;i<n;i++)
                 for(int j=0;j<n;j++)
                     a[i][j]='.';
             for(int i=0;i<k;i++)
             {
                 for(int j=s+2;j<n-2-s;j++)
                 {
                     a[s][j]='$';
                     a[n-1-s][j]='$';
                     a[j][s]='$';
                     a[j][n-1-s]='$';
                }
                 for(int j=s;j<=s+2;j++)
                 {
                     a[j][s+2]='$';
                      a[s+2][j]='$';
             a[n-1-s-2][j]='$';
                     a[j][n-1-s-2]='$';
                 }
                 for(int j=n-1-s-2;j<=n-1-s;j++)
                 {
                     a[n-1-s-2][j]='$';
                     a[j][n-1-s-2]='$';
                     a[j][s+2]='$';
                     a[s+2][j]='$';
                 }
                 s+=2;
             }s+=2;
             for(int j=s;j<=s+2;j++)
           {
                 a[j][s]=a[s][j]='$';
             }
             for(int j=s;j>=s-2;j--)
             {
                 a[j][s]=a[s][j]='$';
             }
             for(int i=0;i<n;i++)
                 {
                     for(int j=0;j<n;j++)
                         printf("%c",a[i][j]);
                     printf("
    ");
                 }
         }
         return 0;
     }
  • 相关阅读:
    hitachi2020 C-ThREE
    LOJ#2083. 「NOI2016」优秀的拆分
    BZOJ2754: [SCOI2012]喵星球上的点名
    BZOJ4516: [Sdoi2016]生成魔咒
    AtCoder Beginner Contest 146解题报告
    拉格朗日插值复习笔记
    对于求解单峰函数最值问题的探讨
    BZOJ5509: [Tjoi2019]甲苯先生的滚榜
    面试技巧
    性能案例分析 | MAT分析内存泄露
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/3592618.html
Copyright © 2011-2022 走看看