怎么用循环输出以下菱形,下面的短横线打印成空格就可以

来源:百度知道 编辑:UC知道 时间:2024/07/05 06:00:20
---*
--*-*
-*---*
*------*
-*---*
--*-*
---*

#include <stdio.h>
#include <stdlib.h>
void main ()
{
int i,j,k,m,n,size;
printf ("input size: ");//输入菱形的层数
scanf ("%d",&size);
if (size <=0||size%2==0)
{
printf ("thr size is error!\n");
exit (-1);
}
for (i=1;i<=size;i++)
{
n=(i<=(size+1)/2) ? i : size-i+1;
n=2*n-1;
m=(size-n)/2;
for (k=1;k<=m;k++)
printf (" ");
printf ("*");//左列的*
for (j=1;j<n-1;j++)
printf (" ");
if (n>2&&n<=size)//右列的*
printf ("*");
printf ("\n");
}
}