#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,t,b,k,j;
while(cin>>n){
t=(n+1)/2; //将菱形分为两部分处理,且此时t为*的个数最多的行数
for(k=1;k<=n;k++){
b=abs(k-t); //k行到t行的距离
for(j=1;j<=b+10;j++)
cout<<" "; //打印*号前面的空格,+10“是为了让结果呈现效果好看
for(j=1;j<=2*(t-b)-1;j++)
cout<<"*"; //根据*个数的数学规律打印
cout<<endl; //换一行
}
}
return 0;
}
运行结果: