一道VB试题

PrivateSubCommand1_Click()Fori=1To10Forj=0Toi-1s=s+1NextjNextiPrintsEndSub搞不明白S是怎么取值的... Private Sub Command1_Click()
For i = 1 To 10
For j = 0 To i - 1
s = s + 1
Next j
Next i
Print s
End Sub
搞不明白S是怎么取值的?求各位大侠帮助~!
展开
 我来答
pjqkeke
2011-08-08 · TA获得超过280个赞
知道答主
回答量:161
采纳率:0%
帮助的人:132万
展开全部
这是一个双层循环,外层循环由变量i的取值控制,内层循环由变量j控制,当i每取一次值时,j要从0变化到i-1。
比如当i=1时,j先取0,这时候j的终值条件是i-1也就是0,意味着内层循环的控制变量j只能是取0到0,也就是内循环s=s+1只能执行一次,那么就是当i=1是,s=s+1,只执行了一次,s=1.然后遇到next j,j要增加1变成了1超过了终值0,内层循环退出遇到next i,i增加1变成2,返回到for i= 1 to 10,判断i 的终值是10,2没有超过终值,循环继续进行。
这是i第二次取了新值,j 又要从 0 到i-1之间挨个取值,并执行循环体s=s+1了。
这种双层循环得以执行的条件就是外层循环变量如果满足条件就可以去执行向下执行了,至于内层循环是否能执行还要考虑在当前的状态下内层循环得条件是否得到满足。
我在程序中加上几句显示i和j变换的语句,可以帮助你更好的分析代码:
Private Sub Command1_Click()
For i = 1 To 10
Print "当i=" & i
For j = 0 To i - 1
Print "j=" & j,
s = s + 1
Print "s=" & s,
Next j
Print
Print
Next i
Print
End Sub
艾米大青山绿儿
2011-08-08 · TA获得超过271个赞
知道小有建树答主
回答量:252
采纳率:0%
帮助的人:254万
展开全部
i=1 j从0循环到0 s=1
i=2 j从0循环到1 s=2 s=3 (加两次)
以此推把

哦前提s=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wyf19790923
2011-08-08 · TA获得超过672个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:274万
展开全部
外循环10次,内循环依次是1,2,3,4,5,6,7,8,9,10次,及是1+2+3……+10=55,最后S为55。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tinacsut
2011-08-08
知道答主
回答量:11
采纳率:0%
帮助的人:1.6万
展开全部
此题有两个循环,此题的关键是外循环每变一个数,内循环执行相应的次数完后,外循环再改变一个数,再执行内循环,直至外循环也执行完为止。
此题i先为一,再看内循是从0到i-1,第一次进行时i为一,则内循环为0到0,执行一次,接着内循环结束,外循i值变为2,相应的内循环从0到i-1,执行j分别为0,1的两次,按照此方法直至i变为10,此时内循环从0到9执行10次。而s=s+1表示每执行一次循环s值加一,此程序一共执行了55次,s变量没有赋值,则最开始为0,最后结果为55.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式