请教一道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,是怎么得出来的,谢谢各位了! 展开
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,是怎么得出来的,谢谢各位了! 展开
4个回答
展开全部
i 等于 1 时,j 从1 到 4, 共循环4 次,其中当j mod 2 <> 0时,a=a+1,两次。i 等于2时,一样。所以共12次。答案是12。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学过很久,不能比较专业地说出来了~
双循环~外面一圈是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
双循环~外面一圈是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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我没有学过Vb我推算的结果:
j=1
a=2
j=2
a=3
j=3
a=5
j=4
a=6
i=2
a=12
j=1
a=2
j=2
a=3
j=3
a=5
j=4
a=6
i=2
a=12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进入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
进入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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询