为了账号安全,请及时绑定邮箱和手机立即绑定

麻烦大佬解答一下这题。。。。看不懂

http://img1.sycdn.imooc.com//6063cb9900012d3906150487.jpg

i;j;k;分别代表什么含义?

第八行for语句空格是怎么第一次输出四个,第二次输入三个?j随着i的值变化,不应该是第一次一个第二次两个吗?

k为啥从0开始?


正在回答

2 回答

那个k好像的决定*的个数,例如k等于0时,k<2*i-1,也就是0<1,所以执行这个循环,第一行就有了一个*(注:这时候i=1)然后,j决定空格的个数,当j等于1时,j<5,也就是1<5,(貌似j<4更合理),上面的k循环第2次时,k+1=1,k<2*i-1,也就是1<1,不正确,所以*只有一个,而j继续循环每次加1,当j等于5时,5<5,不正确,所以循环下来,只有3个空格。

大概应该也许可能是这样

1 回复 有任何疑惑可以回复我~
#1

weixin_慕UI2181833

解答了我的疑惑!!
2022-02-24 回复 有任何疑惑可以回复我~

i代表四行*号;j代表第i行空格数;k代表第i行**数;

第八行第一次是输出三个空格,因为j=i=2。后面就是循环下来j=i=3,同理‘

k的话,运算是先算i-1再×2,所以就会得到1,3,5,7个*号。

1 回复 有任何疑惑可以回复我~
#1

慕神4049066

最后k那个我也懵了,不是这样解释,错了错了,对不起
2021-04-01 回复 有任何疑惑可以回复我~
#2

bugswriter

“第八行第一次是输出三个空格,因为j=i=2”?第一次执行顺序不是i=1,判断i<5为真,然后到第二个for,给j赋值,j=i=1吗?
2021-08-03 回复 有任何疑惑可以回复我~
#3

bugswriter 回复 bugswriter

第一个for中的i++不是跳出后面两个for才执行一次的吗?所以第一次运行的i应该是1不是2
2021-08-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

麻烦大佬解答一下这题。。。。看不懂

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信