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;
     }
  • 相关阅读:
    企业网盘针对文件权限管理的技术实现
    学校私有云盘在学校信息化建设中的作用-教学资源库平台
    Mobox 知识管理平台助推市长质量奖
    为勇敢的华裔女子点赞
    一群喵星人把他家包围了。。
    【OI】简单的分块
    【OI】Kruskal & ufs (克鲁斯卡与并查集)
    【OI】向量&矩阵乘法
    【OI】同余方程
    【Ubuntu】某灯图标过大
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/3592618.html
Copyright © 2011-2022 走看看