美文网首页
L1-002 打印沙漏 (20 分)

L1-002 打印沙漏 (20 分)

作者: melody_yuan | 来源:发表于2021-03-23 12:01 被阅读0次

题目要求

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

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

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

资源限制

  1. 时间限制:400ms
  2. 内存限制:64.0MB
  3. 代码长度限制:16KB

样例输入输出

输入格式:

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

输出格式:

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

输入样例:

19 *

输出样例

*****
 ***
  *
 ***
*****
2

代码

满分代码如下:

#include<iostream>
#include<math.h>
using namespace std;
int main(){
    int n,m,i,j;
    char s;
    cin>>n>>s;
    m=sqrt((n+1)/2);
    for(i=0;i<m;i++){
        for(j=0;j<i;j++){
            cout<<' ';
        }
        for(j=i;j<2*m-i-1;j++){
            cout<<s;
        }
        cout<<endl;
    }
    for(i=1;i<m;i++){
        for(j=1;j<m-i;j++){
            cout<<" ";
        }
        for(j=m-i;j<m+i+1;j++){
            cout<<s;
        }
        cout<<endl;
    }
    cout<<n-2*m*m+1;
    return 0;
} 

相关文章

  • L1-002 打印沙漏

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

  • pat1027

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

  • 1027 打印沙漏 (20 分)

  • 数据结构课前测试题

    自测-1 打印沙漏(20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格...

  • Python PAT 乙级考试1027

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

  • 自测-1 打印沙漏(20 分)

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

  • 1027 打印沙漏 (20分)(Python)

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

  • PAT 1027 打印沙漏 (20 分)

    GitHub

  • 自测-1 打印沙漏 (20分)

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

  • 打印沙漏

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

网友评论

      本文标题:L1-002 打印沙漏 (20 分)

      本文链接:https://www.haomeiwen.com/subject/clychltx.html