同之前的打印三角形一样。
用两层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");
}
}
for(i=(n-1)/2;i>=1;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");
}
}
}
附上运行结果