c语言输出菱形

怎么用循环输出以下图形:
*
***
*****
*******
*****
***
*

用C语言
格式出错了,我要打印的是菱形,下面的短横线打印成空格就可以
---*
--***
-*****
*******
-*****
--***
---*

java语言输出菱形: 

 public static void main(String [] args){
    int row=11; //设置打印的行数,11也就是菱形对角线的长。
    for (int i=0;i<row;i++){
        for( int j=0; j< row ; j++){
          //左上,右上,左下,右下四个角打印空格
          //可以一个判断语句写出,四个判断分别对应四个角的位置
               if( i<row/2 && (j< row/2 - i || j> row/2 +i) ||
                   i>row/2 && (j< i -row/2  || j> row -i +row/2 -1 ) ){
                   // 满足条件打印空格
                   System.out.print(" ");    
               }else{
                   // 不满足条件打印 * 
                   System.out.print("*");
               }
        }
        // 一次循环结束,换行
        System.out.println();
    }
    System.out.println("---------------------------------");
  
    // 下面打印花纹。 很多菱形循环排列
    // 设置横排重复次数15,竖排重复次数12。共15*12个菱形,每一个菱形是 11的对角线长
    int wCount=15;
    int hCount=12;
    int wRows=row*wCount;
    int hRows=row*hCount;
    for(int i=0;i<hRows;i++){
int temp1=i;
i = i % row;
for(int j=0;j<wRows;j++){
int temp2 = j ;
j = j % row ;
if(i<row/2&&(j<row/2-i||j>row/2+i)||
   i>row/2&&(j<i-row/2||j>=row+row/2-i)){
System.out.print(" ");
}else{
System.out.print("*");
}
j = temp2 ;
}
i = temp1;
System.out.println();
    }
    
 }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-17
#include<stdio.h>
void a(int i)
{
int j,k;
for(j=0;j<=4-i;j++) printf(" ");
for(k=0;k<2*i+1;k++) printf("*");
printf("\n");
}
void main()
{
int i;
for(i=0;i<3;i++) a(i);
for(i=3;i>=0;i--) a(i);
}
第2个回答  推荐于2017-09-11
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}本回答被提问者采纳
第3个回答  2009-02-17
for(int i=-3;i<3;i++)
{
printf("\n");
for(int j=0;j<=abs(2*i-1);j++)
printf("*\n");
}
第4个回答  2009-02-17
随便写了一个,你验证一下吧~~
#include<stdio.h>

void main()
{
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4-i;j++)
{
printf(" ");
}

for(j=2*i+1;j>0;j--)
{
printf("*");
}
printf("\n");
}

for(i=3;i>0;i--)
{
for(j=0;j<5-i;j++)
{
printf(" ");
}
for(j=2*i-1;j>0;j--)
{
printf("*");
}
printf("\n");

}

}