zoukankan      html  css  js  c++  java
  • 打印沙漏

    1217: 打印沙漏

    题目描述

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

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

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

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

    输入

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

    输出

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

    样例输入

    19 *

    样例输出

    *****
     ***
      *
     ***
    *****
    2
          用cin cout超时TT
     1 #include <stdio.h>
     2 struct node
     3 {
     4     int f;
     5     int a;
     6 }m[1001];
     7 int main()
     8 {
     9     int i,j,n,count=0;
    10     char c;
    11     m[1].a=1;
    12     m[1].f=1;
    13     for(i=2;i<1001;i++)
    14     {
    15         m[i].a=m[i-1].a+2*(2*i-1);
    16         m[i].f=2*i-1;    
    17     }
    18     while(~scanf("%d%*c%c",&n,&c))
    19     {
    20         i=1;
    21         while(1)
    22         {
    23             if(n>=m[i].a&&n<m[i+1].a)
    24                 break;
    25             i++;
    26         }
    27         count=i;
    28         for(i=0;i<(m[count].f+1)/2;i++)
    29         {    
    30             for(j=0;j<i;j++)
    31                 printf(" ");
    32             for(j=m[count].f-i*2;j>0;j--)
    33                 printf("%c",c);
    34             printf("
    ");
    35         }
    36         for(i=(m[count].f-1)/2-1;i>=0;i--)
    37         {
    38             for(j=0;j<i;j++)
    39                 printf(" ");
    40             for(j=m[count].f-i*2;j>0;j--)
    41                 printf("%c",c);
    42             printf("
    ");
    43         }
    44         printf("%d
    ",n-m[count].a);
    45         
    46     }
    47 }
  • 相关阅读:
    舌尖上的中关村
    解决winform窗体闪烁问题
    24段魔尺,可以折出哪些精美图案(续)
    24段魔尺,可以折出哪些精美图案
    关于Python编程的一些问答
    BZOJ 1025: [SCOI2009]游戏
    BZOJ 1025: [SCOI2009]游戏
    BZOJ 1207: [HNOI2004]打鼹鼠
    BZOJ 1207: [HNOI2004]打鼹鼠
    BZOJ 1046: [HAOI2007]上升序列
  • 原文地址:https://www.cnblogs.com/a1225234/p/4676561.html
Copyright © 2011-2022 走看看