天梯赛02——沙漏

题意:

题意

代码实现:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
  int N,x,y;
  char A;
  cin>>N;
  cin>>A;
  double sourse;
  //计算层数
  sourse=N+1;
  sourse=sourse/2;
  int value=static_cast<int>(sqrt(sourse));
  int answer=value*value*2-1;
  //输出上半部分
  for(x=1;x<=value;x++){
  for(y=1;y<=value*2-x/*此处小坑*/;y++){
    if(x<=y)
        cout<<A;
    else
        cout<<' ';
  }
  cout<<endl;
  }
  //输出下半部分
  for(x=1;x<value;x++){
    for(y=1;y<=value+x;y++)
    {
        if(x+y>=value)
            cout<<A;
        else
            cout<<' ';
    }
    cout<<endl;
  }
  cout<<(N-answer);
  return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_37051465/article/details/79416500