vb6.0 FOR循环语句

4个变量D1D2D3D4一个数组00110011要输出D12D22D32D42或者数组是10011011输出D10D21D32D42后面的就不管了。D1是前面的0有多少个... 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有多少个。
展开
 我来答
tools2046
2013-07-19 · TA获得超过380个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:235万
展开全部
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

''''看能看懂不,不能联系。
yyafun
2013-07-25 · 超过11用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:22.7万
展开全部
需要更好的答案找我。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式