编程打印空心菱形
描述
所谓“空心菱形”是指:每行由两端为*、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2;下半部分与上半部分对称。
编写程序,输出n行“空心菱形”。
输入
空心菱形的高度n(n为奇数,且 5 \leq n \leq 9995≤n≤999 )。
输出
输出n行空心菱形。
输入样例 1
7
输出样例 1
* * * * * * * * * * * *
#include <stdio.h>
#include <math.h>
int main(int argc,char *argv[])
{
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n/2;i++)
{
printf(" ");
}
printf("*\n");
for(i=2;i<=(n-1)/2+1;i++)
{
for(j=1;j<=n/2-i+1;j++)
{ printf(" ");
}
printf("*");
for(j=1;j<=i*2-3;j++)
{printf(" ");
}
printf("*\n");
}
for(i=(n-1)/2;i>=2;i--)
{
for(j=n/2-i+1;j>=1;j--)
{ printf(" ");
}
printf("*");
for(j=i*2-3;j>=1;j--)
{printf(" ");
}
printf("*\n");
}
for(i=1;i<=n/2;i++)
{
printf(" ");
}
printf("*\n");
}
思路,先把第一排和最后一排分一类,在把中间的部分一刀切分成2类,然后直接写