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

代码表示问题

(1)/* 观察每行的空格数量,补全循环条件 */

 for(j=i;j<5;j++)  

为什么j<5?

(2)/* 观察每行*号的数量,补全循环条件 */

for(k=0;k<2*i-1;k++) 

为什么k=0?

提问者:i是祎不是伟 2016-04-11 19:04

个回答

  • 慕前端1399819
    2016-04-12 22:15:36
    已采纳

    答案是这样想的:a代表空格的话,aaa*\naa***\na*****\n*******\n(\n是换行的意思),其中i是行数,答案只考虑了*号前面的空格数量,因为第一行空格最多(3个),此后依次空格数减1,正好行数依次加一,所以让j = i,然后取j < 5做条件,这也第一行输出3个空格,第二行2个,第三行1个,第四行0个;

    第二个问题,2*i-1是每行*号的数量,打印完空格,接着打印*号,你可以简单数一下,如果条件是 k < 2*i-1,k = 0时会输出2*i-1个*,如果条件是k <= 2*i-1的话,就该取 k=1了。

  • 梦无涯
    2016-04-11 21:30:58

    好像是因为k 代表 * 的数量,初始值是0  那么k<2*i-1  就是 2*1-1=1  所以第一行的* 数量是1    其实我也刚学的 不知道对不对.