这一题主要注意空格的输出,每行最后一个星号*不带空格,所以在if判断的时候带空格的*和不带空格的*优先输出的顺序很重要。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;cin>>n;
n--;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=n+i;j++)
{
if(j==n+i)
printf("*");
else if(j==n-i)
printf("* ");
else printf(" ");
}
cout<<endl;
}
for(int i=n-1;i>=0;i--)
{
for(int j=0;j<=n+i;j++)
{
if(j==n+i)
printf("*");
else if(j==n-i)
printf("* ");
else printf(" ");
}
cout<<endl;
}
return 0;
}