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

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,是怎么得出来的,谢谢各位了!

第1个回答  2006-08-10
i 等于 1 时,j 从1 到 4, 共循环4 次,其中当j mod 2 <> 0时,a=a+1,两次。i 等于2时,一样。所以共12次。答案是12。
第2个回答  2006-08-10
学过很久,不能比较专业地说出来了~
双循环~外面一圈是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
第3个回答  2006-08-10
我没有学过Vb我推算的结果:
j=1
a=2
j=2
a=3
j=3
a=5
j=4
a=6
i=2
a=12
第4个回答  2006-08-10
进入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本回答被提问者采纳

请教高手VB中一个for 循环的问题
1.用多线程(如:10个线程。一人干十分之一)例如:Dim a As New Form1 a.Show 建立新窗体,再运算 2.指针提升速度(CopyMemory)3.算法(用一种算法将100个数合成1个,然后计算一个数,再解运算。)

请教VB中 for each……next 用法实例
我试了半天,for each …… next 语句好象不能对数组直接进行写操作。如:Dim a(1 to 3)for each x in a x=val(inputbox("Enter"))print x next x 这时是可以显示的。但是,如果在循环以后加上下面这句。For i=1 to 3 print a(i)的话,会发现数组里面的元素全是0(初值)。可以这样...

vb中的for循环的where和exit for具体什么时候用?来两个简单点的例子
For...Next 循环,对于知道了循环起始和终止值的情况来说,使用起来更方便。Exit For:当程序执行到此处,自动退出本层循环。实例1:求1+2+3+……100的和 Dim i, S As Integer i = 0 S = 0 For i = 1 To 100 S = S + i Next i Print "s="; S 实例二:Dim I, MyNum For I...

请教各位高手VB下标越界问题,急!谢谢啦!
Private a() As Integer 仅仅声明了一个动态数组,你尚未给它指定维数,也就是说a()此时还不能存放任何元素,当然会失败了。必须先给数组指定必须的维数,For循环前加上一句 Redim a(1 to 10)

没分了,求帮助。求解下面的代码的意思,主要是for循环哪里。关于VB,求水...
解释:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)--- \/\/ 比如你输入3 For b = 10 ^ (a - 1) To (10 ^ a - 1)10 ^ ( a - 1) 表示10 的 2次方 = 100 最小的3位数 10 ^ a - 1表示...

...语句,如何在else时 跳出if语句 继续执行剩下的for语句?
for i=0 to 9 if i<6 then print "此语句将会在FORM上显示6次"else '此处留空不填即可,不能象楼上说的用break语句,break语句是跳出for循环用的。endif print "此语句将会在FORM上显示10次"next

VB 请教!几个字母循环组合写法
以每组 2 个字母循环组合结果共 28 组:Private Sub Form_Click() '点击窗体运行Dim s As String, a As Integer, b As Integers = "ABCDEFGH"For a = 1 To 7 For b = a + 1 To 8 '输出到立即窗口 Debug.Print Mid(s, a, 1); Mid(s, b, 1) Next bNext aEnd ...

VB中关于: for ...to,和DO WHILE...LOOP语句的用法
for ...to,用在知道循环次数的时候比较方便 DO WHILE...LOOP 用在在循环时判断条件,条件满足执行,不满足就退出 例如你要计算1+2+3+...+100的值则用for to 要计算1+2+3+4+5+...什么时候大于1000,并返回最后一个数时用DO WHILE...LOOP ...

请教下面VB程序的运行结果为什么是 1 2 1
这种循环次数不多的,可以把变量值依次代入,耐心地模拟每个循环的执行,看每一步都出什么结果就可以哦 代入n,循环就是(最多也就1+2+3=6次而已):For k = 0 To 2 For l = 1 To k + 1 x = k + 2 - l a(x) = a(x) + a(x - 1)If k < 2 Then Exit For MsgBox a(x...

请教VB题,麻烦高手把每一步的意思写出来。。。…十分感谢。。。_百度知...
As Integer n=3 For i = 1 To 5 Arr1(i) = i ‘给数组下标为1、2、3、4、5的元素分别赋值1、2、3、4、5 arr2(n) = 2 * n + i ’给数组下标为3的元素依次赋值7、8、9、10、11 Next i Print arr2(n); Arr1(n)‘打印数组下标为3的元素的值 End Sub 结果:11 3 ...

相似回答