移动钻石的下半部分

时间:2014-09-25 01:08:09

标签: c split

我的代码打印出一个钻石,其中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;
} 

1 个答案:

答案 0 :(得分:0)

offset variable初始化为零space loop(第一个循环),然后当你反转速率时,将偏移量增加到你想要移动的空格数

像这样:http://codepad.org/i6d99lc7