zoukankan      html  css  js  c++  java
  • L1-002. 打印沙漏

    L1-002. 打印沙漏

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    陈越

    本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印

    *****
     ***
      *
     ***
    *****
    

    所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

    给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

    输入格式:

    输入在一行给出1个正整数N(<=1000)和一个符号,中间以空格分隔。

    输出格式:

    首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

    输入样例:
    19 *
    
    输出样例:
    *****
     ***
      *
     ***
    *****
    2
    

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int n,i,j,a1,a2,b1,b2,sum,x,k;
     5     char c;
     6     while(~scanf("%d %c",&n,&c))
     7     {
     8         sum=1;
     9         i=1;
    10         b1=0;
    11         while(2*sum-1<=n)
    12         {
    13             i=i+2;
    14             sum=sum+i;
    15             b1++;
    16         }
    17        x=n-((sum-i)*2-1);
    18        a1=i-2;
    19        b2=b1;
    20        a2=a1;
    21        for(i=1;i<=b1;i++)
    22        {
    23            for(j=1;j<=i-1;j++)
    24            {
    25                printf(" ");
    26            }
    27            for(j=1;j<=a1;j++)
    28            {
    29                printf("%c",c);
    30            }
    31 
    32            printf("
    ");
    33            a1=a1-2;
    34        }
    35        k=3;
    36       for(i=2;i<=b2;i++)
    37       {
    38           for(j=1;j<=(a2-k)/2;j++)
    39           {
    40               printf(" ");
    41           }
    42           for(j=1;j<=k;j++)
    43           {
    44               printf("%c",c);
    45           }
    46 
    47           printf("
    ");
    48           k=k+2;
    49       }
    50       printf("%d
    ",x);
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    emWin模拟器Visual Studio开发时无法printf打印的问题
    双边滤波算法
    hough变换算法
    OpenCV3入门(十四)图像特效—挤压、哈哈镜、扭曲
    Canny检测算法与实现
    图像频域滤波与傅里叶变换
    OpenCV3入门(十二)角点检测
    OpenCV3入门(十一)图像直方图
    OpenCV3入门(十)图像轮廓
    一款基于SVM算法的分布式法律助手
  • 原文地址:https://www.cnblogs.com/yinbiao/p/8543688.html
Copyright © 2011-2022 走看看