vb程序问题 for n=1to20 if n mod 3<>0 then m=m+n\3 next n label1.text=n 为什么最后结果为21?

如题所述

n确实为21,当循环到n=20的时候,满足循环条件,会继续执行到next,此时程序返回第一行for ,此时n=21,程序判断不满足循环条件了,输出n=21
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-15
label1.text=n 应该是 = m 吧?
n当然就是21,看一下for循环的算法就知道了追问

为什么不是20

追答

for循环的规则,就是碰到next语句时,n加1(默认加1,有step语句就加step语句指定的值),然后和20比,如果不大于20,就继续循环,如果大于20,就退出。所以退出后n就是21。
假如有step语句指定step 2,那得到的n就是22了 。

如果循环中有其他语句中断或修改n值,就另当别论了

本回答被提问者和网友采纳

...To 20 If N Mod 3 <> 0 Then M = M + N \\ 3 Next N Print N End S...
1到20 Do For 循环,而当21时,因大于20,故退出For循环。此时,再Print N 时即为21

高分替兄弟求VB编程题
试题一:设计一个登陆窗体,如果用户输入正确密码和用户名,则进入另一窗体,否则利用消息框提示错误,三次错误即退出程序。试题二:制作一个标准WINDOWS界面,包括菜单、工具条、状态... 试题一:设计一个登陆窗体,如果用户输入正确密码和用户名,则进入另一窗体,否则利用消息框提示错误,三次错误即退出程序。试题二:制作一...

VB 如何判断前方颜色?
一是,因为用户只是看的表面现象,所以我们可以避开颜色的困扰,使用不同image控件来装不同的颜色图片,这样只需要判断蛇头与image的距离是否相等.再来执行相应的代码.二是,如果你非要以颜色来判断是否是安全空地的话,那你可以使用一个临时控件(其visible=false)来放到安全空地的边界处,以得到其安全"边线"值...

vb设计 输入两个正整数m和n,求他们的最大公约数和最小公倍数
do r=m mod n m=n n=r loop until r=0 text3.text=m min=val(text1.text)*val(text2.text)\/m text4.text=min end if (m是指第一个数,n是指第二个数,r是个参数,min是指最小公倍数,希望你能看懂)

VB 解决爸爸年龄 问题(函数)
As Integer n = 64 - bb - gg - mm '如果3人随着年龄增减刚好可以到达总和64岁,就输出结果, 结束循环 If n Mod 3 = 0 Then mm = mm + n \/ 3 gg = gg + n \/ 3 bb = bb + n \/ 3 Print bb; "bb"Print gg; "gg"Print mm; "mm"End If Exit For End If Next mm ...

怎样用vb产生20个随机3位整数呀
所以程序应该是这样:Private Sub Form_Load()Randomize End Sub Private Sub Command1_Click()Dim a!(20)Dim i!, j!, m!, n!m = 0: n = 0 For i = 0 To 19 a(i) = Int(999 * Rnd + 1)If a(i) Mod 2 = 0 Then m = m + 1 Else n = n + 1 End If Next i Ms...

2010年9月份国家计算机二级VB笔试原题和答案?
If n Mod 3 = 0 Then n = n n Else n = n * n End If 【9】fun = n End Function 当单击命令按钮,在输入对话框中输入2时,文本框中显示的是【10】276。 (8)窗体上有一个名称为List1的列表框,一个名称为Picture1的图片框。Form_Load事件过程的作用是,把Data1.txt文件中物品名称添...

VB中输出斐波那契数列的前20项
If m > 2 Then For i = 3 To m a(i) = a(i - 2) + a(i - 1)Next End If f = a(m)End Function Private Sub Command1_Click()Dim i As Integer n = Val(InputBox("请输入第几个月"))If n = 1 Then Print 1;Else If n > 1 Then Print 1,For i = 2 To n Pri...

MOD是、、、
n=1到20 如果 n求余后 不等于0 那么 m=m+n除三 结束n的循环 显示n的数值 结束

用VB怎么从EXCEL里面找出同样数据?
Next NextPrint "插入前数组:"For k = 1 To n Print a(k);NextPrintEnd Sub2.二进制Private Sub Command1_Click()Dim n%n = Text1.TextText2.Text = tran(n)End SubPrivate Function tran(n As Integer) As StringDim m As String, r%, flag As Booleanflag = FalseIf n < 0 Thenn = Abs...

相似回答