黑马程序员技术交流社区

标题: 求解答? [打印本页]

作者: uibe    时间: 2015-4-14 22:26
标题: 求解答?
for (int i = 0; i<5; i++) {
        
        for (int j = 1; j<5-i; j++) {
            printf("* ");
        }
        
        printf("\n");
    }


//for (int j = 1; j<5-i; j++) 这句话中j<5-i不太懂,求解释?
作者: Errors    时间: 2015-4-14 22:36
先不看5-i,打印出来的是5*5的*阵列,就是在第i行打印j个*,而5-i就是在第i行打印5-i个*。
作者: 强颜欢笑i    时间: 2015-4-14 22:38
本来应该是 正的等腰三角形,  5-i 之后就变成反着的,
作者: sunyang    时间: 2015-4-14 22:58
* * * *
* * *
* *
*
打印出来的效果是这样的,打印 n行倒三角形需要第一行 n 个,第二行 n-1 ,第三行 n-2 ,...
这里 i= 0,1,2.....
即需要打印j= n-i个星星


作者: 桑小龙    时间: 2015-4-14 23:28
直接看i的取值是从0到5,也就是从小到大,而5-i也就是从大到小,第一个循环不必说了吧,就是循环5次,嵌套的循环就是打印几次*,也就是打印i行,在每行中的*递减
作者: 夜空守望者    时间: 2015-4-14 23:45
楼上都是大神,这些讲解多么详细,想必楼主早已看破此题!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2