
一道VB题。。希望有懂的帮我写下代码。。感激不尽
随机产生N(10-30)个大写字母,按产生的顺序输出并统计相邻两个字母满足升序的情况,输出符合条件的每对字符和统计结果各位懂的人。。再好心帮我分析下每步的原因和思路好吧。...
随机产生N(10-30)个大写字母,按产生的顺序输出并统计相邻两个字母满足升序的情况,输出符合条件的每对字符和统计结果
各位懂的人。。再好心帮我分析下每步的原因和思路好吧。。小弟急着用。。感激不禁 展开
各位懂的人。。再好心帮我分析下每步的原因和思路好吧。。小弟急着用。。感激不禁 展开
2个回答
展开全部
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, l As Integer, R As String, S As String, T As String
Cls
Randomize
i = Fix(Rnd * (30 + 1 - 10)) + 10
For j = 1 To i
R = R & Chr(Fix(Rnd * (90 + 1 - 65)) + 65)
Next
Print "随机产生" & i & "个字母:" & R & vbCrLf
Print "两两之间升序的有"
For k = 1 To Len(R) - 1
S = Mid(R, k, 1)
T = Mid(R, k + 1, 1)
If Asc(T) > Asc(S) Then
l = l + 1
Print S; T
End If
Next
Print "共" & l & "组升序的"
End Sub
Dim i As Integer, j As Integer, k As Integer, l As Integer, R As String, S As String, T As String
Cls
Randomize
i = Fix(Rnd * (30 + 1 - 10)) + 10
For j = 1 To i
R = R & Chr(Fix(Rnd * (90 + 1 - 65)) + 65)
Next
Print "随机产生" & i & "个字母:" & R & vbCrLf
Print "两两之间升序的有"
For k = 1 To Len(R) - 1
S = Mid(R, k, 1)
T = Mid(R, k + 1, 1)
If Asc(T) > Asc(S) Then
l = l + 1
Print S; T
End If
Next
Print "共" & l & "组升序的"
End Sub
展开全部
Private Sub Form_Load()
Dim s() As Integer '定义用来存储字母的数组
Dim n As Integer '定义有几个字母
Dim i, j As Integer '定义一些中间需要的变量
Randomize '初始化随机数
n = Int((30 - 10 + 1) * Rnd + 10) '随机生成数字n即数组的长度
ReDim s(n) As Integer '重新定义数组
Print "共产生" & n & "个字母:"
For i = 1 To n
s(i) = Int((90 - 65 + 1) * Rnd + 65) '随机生成每个字母
Print Chr(s(i));
Next i '循环
Print: Print: Print "其中两两之间构成升序的有:": Print
j = 0
For i = 1 To n - 1
If s(i) < s(i + 1) Then '比较相邻两字母是否满足升序
Print Tab(5); Chr(s(i)) + "-" + Chr(s(i + 1)) '满足升序则打印
j = j + 1 '用来标记有几对满足升序的字母
End If
Next i '循环
Print: Print "共有" & j & "对两两构成升序的字母": Print
End Sub
Dim s() As Integer '定义用来存储字母的数组
Dim n As Integer '定义有几个字母
Dim i, j As Integer '定义一些中间需要的变量
Randomize '初始化随机数
n = Int((30 - 10 + 1) * Rnd + 10) '随机生成数字n即数组的长度
ReDim s(n) As Integer '重新定义数组
Print "共产生" & n & "个字母:"
For i = 1 To n
s(i) = Int((90 - 65 + 1) * Rnd + 65) '随机生成每个字母
Print Chr(s(i));
Next i '循环
Print: Print: Print "其中两两之间构成升序的有:": Print
j = 0
For i = 1 To n - 1
If s(i) < s(i + 1) Then '比较相邻两字母是否满足升序
Print Tab(5); Chr(s(i)) + "-" + Chr(s(i + 1)) '满足升序则打印
j = j + 1 '用来标记有几对满足升序的字母
End If
Next i '循环
Print: Print "共有" & j & "对两两构成升序的字母": Print
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询