我一次性AC这道题,用时10分钟。
#include<iostream>
using namespace std;
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
int n;
int mhgs=1;//每行个数
bool flag=true;
cin >> n;
int kgs=n/2;//空格数
for(int i=1;i<=n;i++)
{
for(int k=1;k<=kgs;k++)
{
cout << " ";
}
for(int j=1;j<=mhgs;j++)
{
cout << '*';
}
cout << '\n';
if(mhgs==n)
{
flag=false;
}
if(flag)
{
mhgs+=2;
kgs--;
}
else
{
mhgs-=2;
kgs++;
}
}
//fclose(stdin);
//fclose(stdout);
return 0;
}