#include<stdio.h>
/**
* 空心菱形,本质就是打印空格和星星
* 观察空心菱形形状,一般打印多行就要想到多层佛for循环了
* 外层控制行数,内层控制列数
* 再根据行数与打印空格个数以及打印星星个数的数学关系式
* 便可打出。
*/
int main()
{
int n;
int flag=0;
scanf("%d",&n);
//上半部分
for(int j=0;j<n;++j){
flag++;//用于标记,让第一次循环只打印一颗星星
for(int i=n-j-1;i>0;--i){
printf(" ");
}
printf("*");
for(int i=0;i<(2*j-1);++i){
printf(" ");
}
if(flag!=1){
printf("*");
flag++;
}
printf("\n");
}
//下半部分
flag=0;
for(int j=n-1;j>0;--j){
flag++;
for(int i=0;i<n-j;++i){
printf(" ");
}
printf("*");
for(int i=0;i<(2*(j-1)-1);++i){
printf(" ");
}
if(flag!=n-1){
printf("*");
}
printf("\n");
}
return 0;
}
## 标题 for典型例
05-31
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-01
08-16
4747
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)