一道VB题。。希望有懂的帮我写下代码。。感激不尽

随机产生N(10-30)个大写字母,按产生的顺序输出并统计相邻两个字母满足升序的情况,输出符合条件的每对字符和统计结果各位懂的人。。再好心帮我分析下每步的原因和思路好吧。... 随机产生N(10-30)个大写字母,按产生的顺序输出并统计相邻两个字母满足升序的情况,输出符合条件的每对字符和统计结果
各位懂的人。。再好心帮我分析下每步的原因和思路好吧。。小弟急着用。。感激不禁
展开
 我来答
哈耗衩8
2008-12-05 · TA获得超过2万个赞
知道大有可为答主
回答量:7100
采纳率:0%
帮助的人:4748万
展开全部
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
leeming6666
2008-12-08 · TA获得超过3458个赞
知道大有可为答主
回答量:3240
采纳率:85%
帮助的人:864万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式