请教一道vb中for循环的习题

privatesubcommand1_click()a=0fori=1to2forj=1to4ifjmod2<>0thena=a+1endifa=a+1nextjnext... private sub command1_click()
a=0
for i=1 to 2
for j=1 to 4
if j mod 2<>0 then
a=a+1
end if
a=a+1
next j
next i
print a
end sub
程序运行后,单击命令按钮,输出结果是什么?
答案是12,是怎么得出来的,谢谢各位了!
展开
 我来答
lianyunwen
2006-08-10 · 超过25用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:58.4万
展开全部
i 等于 1 时,j 从1 到 4, 共循环4 次,其中当j mod 2 <> 0时,a=a+1,两次。i 等于2时,一样。所以共12次。答案是12。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
levyclsdevil
2006-08-10 · TA获得超过1906个赞
知道小有建树答主
回答量:1405
采纳率:0%
帮助的人:902万
展开全部
学过很久,不能比较专业地说出来了~
双循环~外面一圈是for i=1 to 2,next i
就是说:
for j=1 to 4
if j mod 2<>0 then
a=a+1
end if
a=a+1
next j
要计算两次
j=1时,j mod 2<>0
a=a+1=1
end if
a=a+1=1+1=2
j=2时,j mod 2=0
”if j mod 2<>0 then
a=a+1
end if”就没了
直接a=a+1=3
这样j循环完以后a=6
i=2再进行一次,a=12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朴质且惬意的好汉042
2006-08-10 · TA获得超过925个赞
知道小有建树答主
回答量:921
采纳率:100%
帮助的人:0
展开全部
我没有学过Vb我推算的结果:
j=1
a=2
j=2
a=3
j=3
a=5
j=4
a=6
i=2
a=12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
user830316
2006-08-10 · TA获得超过1390个赞
知道大有可为答主
回答量:1371
采纳率:0%
帮助的人:1546万
展开全部
进入i的第1次循环;
进入j的第1次循环;
此时:j mod 2 <> 0 ,则执行if语句中的a=a+1;运算前结果 a=0,运算后:a=1
执行if语句后的a=a+1;运算前结果 a=1,运算后:a=2

进入j的第2次循环;
此时:j mod 2 = 0, if语句中a=a+1不运行;
执行if语句后的a=a+1;运算前结果 a=2,运算后:a=3

进入j的第3次循环;
此时:j mod 2 <> 0 ,则执行if语句中的a=a+1;运算前结果 a=3,运算后:a=4
执行if语句后的a=a+1;运算前结果 a=4,运算后:a=5

进入j的第4次循环;
此时:j mod 2 = 0, if语句中a=a+1不运行;
执行if语句后的a=a+1;运算前结果 a=5,运算后:a=6

进入i的第2次循环;
进入j的第1次循环;
此时:j mod 2 <> 0 ,则执行if语句中的a=a+1;运算前结果 a=6,运算后:a=7
执行if语句后的a=a+1;运算前结果 a=7,运算后:a=8

进入j的第2次循环;
此时:j mod 2 = 0, if语句中a=a+1不运行;
执行if语句后的a=a+1;运算前结果 a=8,运算后:a=9

进入j的第3次循环;
此时:j mod 2 <> 0 ,则执行if语句中的a=a+1;运算前结果 a=9,运算后:a=10
执行if语句后的a=a+1;运算前结果 a=10,运算后:a=11

进入j的第4次循环;
此时:j mod 2 = 0, if语句中a=a+1不运行;
执行if语句后的a=a+1;运算前结果 a=11,运算后:a=12

最后的结果为:12
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式