2014-09-25 27 views
0

我有一个代码,打印出一个15行的水平分割为C的钻石,我试图做的是将下半部分翻转过几个空间,使其不均匀与上半场。我会怎么做呢?移动一颗钻石的下半部分

#define TR 15 

int main() { 

    int row, col, numstars = 1, rate = 1, half; 

    for(row = 1; row <= TR; row++) 
    { 
     half = TR/2; 

     for(col = 0; col < half + 1 - numstars; col++) 
     { 
      printf(" "); 
     } 

     for(col = 1; col <= 2 * numstars - 1; col++) 
     { 
      printf("*"); 
     } 

     if(numstars == half + 1) 
     { 
      printf("\n"); 
      rate = -rate; 
     } 

     numstars = numstars + rate; 
     printf("\n"); 
    } 
    return 0; 
} 

回答

0

添加offset variable初始化为零space loop(第一循环),那么当你在倒车的速度增加偏移要调换

像这样的空格数:http://codepad.org/i6d99lc7

+0

精美的作品,谢谢 – Perez 2014-09-25 01:21:38