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

来源:4-12 循环结构之多重循环

刀俎鱼头

2015-01-27 19:46

#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的原因。

写回答 关注

1回答

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

    谢谢分享

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题