我的代码打印出一个钻石,其中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 :(得分:0)
将offset variable
初始化为零space loop
(第一个循环),然后当你反转速率时,将偏移量增加到你想要移动的空格数