问答详情
源自:4-12 循环结构之多重循环

每行输出的空格数到底是多少?

#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)
    {
        for(j=i; j<5; j++)  //注意此行的第2个表达式,是j<5,而不是j<4。
        {
            printf(" ");    
        }
        for(k=0; k<2*i-1; k++) 
        {
            printf("*");   
        }
        printf("\n");     
    }
    return 0;
}

空格数依次应该是4、3、2、1,也就是说,每一行的空格数=(最后一行的*号数-该行的*号数)/2+1。

这也就是代码中j<5而不是j<4的原因。

提问者:刀俎鱼头 2015-01-27 19:46

个回答

  • Perona
    2015-12-12 23:24:59

    谢谢分享