本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
输入格式:
输入在一行中给出一个正的奇数n。
输出格式:
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例:
7
输出样例:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
代码如下:
#include<stdio.h>
int main()
{
int x,i,j,m,n;
scanf("%d",&n);
m=n-1;
x=n;
for(i=1;i<=(n-1)/2;i++)
{
for(j=1;j<=m;j++)
{
printf(" ");
}
m-=2;
for(j=1;j<=(2*i-1);j++)
{
printf("* ");
}
printf("\n");
}//输出上半段
for(i=1;i<=n;i++)
{
printf("* ");
}
printf("\n");//输出中间一行
m=2;
for(i=1;i<=(n-1)/2;i++)
{
if(m<=n-1)
{
for(j=1;j<=m;j++)
{
printf(" ");
}
m+=2;
}
else break;
for(j=1;j<=x-2;j++)
{
printf("* ");
}
x-=2;
printf("\n");
}//输出下半段
return 0;
}