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<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int n,i=1,j,d,max,sum=1;
     6     char a;
     7     cin>>n>>a;
     8     while(1)
     9     {
    10         i+=2;
    11         if(sum+i*2>n)
    12         {
    13             max=i-2;
    14             d=n-sum;
    15             break;
    16         }
    17         sum+=i*2;
    18 
    19     }
    20     //cout<<max<<endl;
    21     for(i=max; i>=1; i-=2)
    22     {
    23         for(j=0; j<max; j++)
    24         {
    25             if(j<(max-i)/2)
    26                 cout<<" ";
    27             else if(j>=(max+i)/2)
    28                 break;//没说用空格补全 
    29             else
    30                 cout<<a;
    31         }
    32         cout<<endl;
    33     }
    34     for(i=3; i<=max; i+=2)
    35     {
    36         for(j=0; j<max; j++)
    37         {
    38             if(j<(max-i)/2)
    39                 cout<<" ";
    40             else if(j>=(max+i)/2)
    41                 break;//
    42             else
    43                 cout<<a;
    44         }
    45         cout<<endl;
    46     }
    47     cout<<d<<endl;
    48     return 0;
    49 }
    我会一直在
  • 相关阅读:
    原型设计工具比较及实践
    2020软件工程最后一次作业
    2020软件工程第四次作业
    2020软件工程第三次作业
    2020软件工程第二次作业
    2020软件工程第一次作业
    AJAX
    MY JQUERY NOTES
    2020软件工程最后一次作业
    2020软件工程第四次作业(第二次结对)
  • 原文地址:https://www.cnblogs.com/zhien-aa/p/5635567.html
Copyright © 2011-2022 走看看