题目链接
坑点
输入的N=1
实现
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int N=0;
char character;
cin>>N>>character;
int sum1=1,sum2=1,i=1;
if(N==1)
cout<<character<<endl;
else
{
while(sum1<=N)
{
i+=2;
if(sum1==N)
break;
if(sum1<N && (sum1+i*2)>N)
break;
sum1+=(2*i);
}
}
int hang=i-2;
for(i=hang;i>1;i-=2)
{
int spaceNum=(hang-i)/2;
for(int j=0;j<spaceNum;j++)
cout<<" ";
for(int m=0;m<i;m++)
cout<<character;
cout<<endl;
}
for(i=1;i<=hang;i+=2)
{
int spaceNum=(hang-i)/2;
for(int j=0;j<spaceNum;j++)
cout<<" ";
for(int m=0;m<i;m++)
cout<<character;
cout<<endl;
}
cout<<N-sum1;
return 0;
}