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有多少个。 展开
一个数组 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有多少个。 展开
2个回答
展开全部
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
''''看能看懂不,不能联系。
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
''''看能看懂不,不能联系。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询