vb6.0 FOR循环语句

4个变量 D1 D2 D3 D4
一个数组 00110011
要输出 D1 2 D2 2 D3 2 D4 2
或者数组是10011011 输出D1 0 D2 1 D3 2 D4 2 后面的就不管了。
D1是前面的0有多少个,D2是最开始的1有多少个,D3是第二次的0有多少个,D4的第二次的1有多少个。

Dim I As Integer, D1 As Integer, D2 As Integer, D3 As Integer, D4 As Integer
Dim Str1 As String
Dim Str2() As String

Private Sub Form_Load()
Command1.Caption = "随机0,1字符"
Command2.Caption = "计算"
End Sub

Private Sub Command1_Click() '随机出一个由0和1组成长度为21的字符串
Randomize
Str1 = ""
For I = 0 To 20
Str1 = Str1 & Math.Round(Rnd)
Next I
Text1.Text = Str1 '随机出的字符串显示在text1中
End Sub

Private Sub Command2_Click() '计算D1,D2,D3,D4
D1 = 0
D2 = 0
D3 = 0
D4 = 0
ReDim Str2(21)
For I = 0 To 20 '将字符串str1分解成数组str2()以作判断
Str2(I) = Mid(Str1, I + 1, 1)
Next I
'D1,最开始有多少个0
For I = 0 To 20
If Str2(I) = "0" Then
D1 = D1 + 1
Else
Exit For
End If
Next I
'D2,0后面到0之间有多少个1
For I = D1 To 20
If Str2(I) = "1" Then
D2 = D2 + 1
Else
Exit For
End If
Next I
'D3,第二组0的个数
For I = D1 + D2 To 20
If Str2(I) = "0" Then
D3 = D3 + 1
Else
Exit For
End If
Next I
'D4,第二组1的个数
For I = D1 + D2 + D3 To 20
If Str2(I) = "1" Then
D4 = D4 + 1
Else
Exit For
End If
Next I
MsgBox Text1.Text & "计算结果为:" & vbCrLf & "D1=" & D1 & vbCrLf & "D2=" & D2 & vbCrLf & "D3=" & D3 & vbCrLf & "D4=" & D4
End Sub

''''看能看懂不,不能联系。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-25
需要更好的答案找我。

vb6.0 FOR循环语句
If Str2(I) = "0" Then D1 = D1 + 1 Else Exit For End If Next I 'D2,0后面到0之间有多少个1 For I = D1 To 20 If Str2(I) = "1" Then D2 = D2 + 1 Else Exit For End If Next I 'D3,第二组0的个数 For I = D1 + D2 To 20 If Str2(I) = "0" T...

vb6.0 for循环问题
你也可以在原有的非数组基础上,修改成数组:选中Text1,设置其Index属性为0;选中Text2,修改其Name属性为Text1并设置其Index属性为1;选中Text3,修改其Name属性为Text1并设置其Index属性为2;选中Text4,修改其Name属性为Text1并设置其Index属性为3;这样就可以用For循环判断了:For i = 0 T...

VB6.0的for循环
Next G dim temp=string temp = savetext 这样 ?

VB6.0,for循环问题
Dim x%For x = 1 To 5 Print Tab(x); String(11 - 2 * x, "*")Next x可以看到这种方法代码量比较少

VB6.0 里For i = 1 To Len(Oct)这句什么意思??解释一下?
Len()是VB中求取字符串长度的函数,Len(Oct)就是取得Oct变量包含的字符串的长度。For i = 1 To Len(Oct)就是循环从1到Oct变量包含的字符串的长度。根据Oct变量不同,循环次数也不会相同。

求vb6.0大神
1.While的格式:While <条件> 语句组 Wend 2.Do的格式:Do 语句组1 [Exit Do]语句组2 Loop  [{While | Until}  <条件>]3.For的格式:For  控制变量 = 初始值t To 终止值  [Step 步长]语句组1 [Exit For]语句组2 Next  [控制变量]...

在vb6.0里如何跳出双层for回圈
用goto语句可以,但是为了代码质量,请不要用goto 参考下面代码 For i = 1 To 100 For j = 1 To 100 '跳出双重循环 Exit For '这里只跳出了内层循环 Next j If j <= 100 Then Exit For '然后这里检测内层循环是否循环完毕,如果没有循环完毕而是跳出来的,那么跳出外层循环,...

vb6.0有没有中途跳出当前for循环,进行下次循环?
vb中没有类似c语言的continue这样的语句,如果使用exit for就会直接跳出for循环。楼上的解决方法应该是可行的。不过得修改下,不然会出错。for i = 1 to 9 if i<>5 then print i ‘语句直接在then后面,不用end if next i

vb6.0有没有中途跳出当前for循环,进行下次循环?
没有,只有Exit for是跳出整个循环过程。

用for 循环语句实现编写一个求n 阶乘的函数文件
1、启动VB6.0,新建一个标准exe工程,如下图所示:2、在窗体上绘制一个命令按钮,名称为Command1,如下图所示:3、双击命令按钮进入代码窗口,如下图所示:4、编写命令按钮单击事件过程。(第一种方法相对简单,就不过多解释。第二种方法,用到的是函数递归方法,在没有结束程序之前继续调用函数,相信...

相似回答