用两层for循环,一层行数,一层每一行打印的个数。
这里默认输入的是奇数。
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=(n+1)/2;i++)
{
for(j=1;j<=n;j++)
{
if((n+1)/2-i<j&&(n+1)/2+i>j)
printf("&");
else
printf(" ");
if(j==n)
printf("\n");
}
}
}
附上运行结果
打印棱形
https://blog.csdn.net/weixin_62264287/article/details/122691301?spm=1001.2014.3001.5502
打印尖心形
https://blog.csdn.net/weixin_62264287/article/details/122691322?spm=1001.2014.3001.5502
打印沙漏
https://blog.csdn.net/weixin_62264287/article/details/122843467?spm=1001.2014.3001.5502