同之前的打印三角形一样。
用两层for循环,一层行数,一层每一行打印的个数。
这里默认输入的是奇数。
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,n;
printf("请输入一个奇数\n");
scanf("%d",&n);
for(i=1;i<=(n+1)/2;i++)
{
for(j=1;j<=2*n+1;j++)
{
if((n+1)/2-i<j&&(n+1)/2+i>j)
printf("&");
else if((n+1)/2-i+n+1<j&&(n+1)/2+i+n+1>j)
printf("&");
else
printf(" ");
if(j==2*n+1)
printf("\n");
}
}
for(i=n;i>=1;i--)
{
for(j=1;j<=2*n;j++)
{
if((2*n+1)/2-i+1<j&&(2*n+1)/2+i+1>j)
printf("&");
else
printf(" ");
if(j==2*n)
printf("\n");
}
}
}
附上运行结果……不好意思,有点尖