早教吧作业答案频道 -->其他-->
懂VB的高手进来翻译下下面的代码Dimd(10000)AsLongDimkAsIntegerPrivateSubCommand1Click()DimaAsLonga=Val(text1.Text)k=k+1i=kDoWhilei>1Andd(i-1)>ad(i)=d(i-1)i=i-1Loopd(i)=atext2.Text=""F
题目详情
懂VB的高手进来翻译下下面的代码Dim d(10000) As Long Dim k As Integer Private Sub Command1_Click() Dim a As Long a = Val(text1.Text) k = k + 1 i = k Do While i > 1 And d(i - 1) > a d(i) = d(i - 1) i = i - 1 Loop d(i) = a text2.Text = "" For j = 1 To i - 1 text2.Text = text2.Text & Str(d(j)) & "" Next j text2.Text = text2.Text & "(" & Str(d(i)) & ") " For j = i + 1 To k text2.Text -text2.Text & Str(d(j)) & " " Next j text1.Text = "" text1.SetFocus End Sub 麻烦把每行都说清楚点~解释的好的可以追加分数!!!
▼优质解答
答案和解析
程序功能是为输入的数字用插入法进行排序。在 text1 文本框打入数字,按 Command1 按钮输入,text2 文本框显示输入过的数字,按从小到大次序排列,刚刚输入的数字前后加括号,以作识别。以下把程序逐行解释: Dim d(10000) As Long ' 表格全局变量,数组 d 是长整型,一开始全部是 0 Dim k As Integer ' 表格全局变量,k 是整型,一开始是 0 Private Sub Command1_Click() ' 点击 Command1 按钮开始运行以下子程序 Dim a As Long ' 局部变量,a 是整型 a = Val(text1.Text) ' 把 text1 文本框中的数值存到 a 里。 k = k + 1 ' k 增加 1,记住一共按过多少次 Command1,即输入过多少个数字。 i = k ' 把 k 的值存到 i 里。 Do While i > 1 And d(i − 1) > a ' 从d 表最后一个元素 d(k − 1) 开找到不比 a 大的数字。 d(i) = d(i − 1) ' 如果比 a大,数字往后移一格,留空位置。 i = i − 1 ' i 减少 1。 Loop ' 处理下一个靠前的元素。 d(i) = a ' 找到前面的数字不比 a 大或者已经到表头了,就插入数字 a。 text2.Text = "" ' 把 test2 文本框清空,准备输出。 For j = 1 To i − 1 ' 重复以下动作,范围是 j从 1 到 i − 1,就是刚才不比 a 大的数字。 text2.Text = text2.Text & Str(d(j)) & "" ' 把数组 d 里储存的数字打印到 text2 里。 Next j ' 处理下一个 j(如果前面没有数字,不会打印任何东西) text2.Text = text2.Text & "(" & Str(d(i)) & ") " ' 把刚插入的数字前后加括号,打印到 text2。 For j = i + 1 To k ' 重复以下动作,从插入的位置后面一个数字到表末。 text2.Text -text2.Text & Str(d(j)) & " " '' 把数组 d 里储存的数字打印到 text2 里。 Next j ' 处理下一个 j(如果后面没有数字,不会打印任何东西) text1.Text = "" ' 把输入文本框 text1 清空。 text1.SetFocus ' 焦点定在输入文本框 text1,方便下一个输入 End Sub ' 子程序结束 希望能帮到你,如有疑问,请继续追问。
看了懂VB的高手进来翻译下下面的代...的网友还看了以下:
数集M满足条件,若a∈M,则1+a/1-a∈M(a≠±1且a≠0.已知3∈M,请把由此确定的集合M 2020-04-06 …
如果分式方程x/(x+1)然后减1=m/(X+1)无解,则m=多少我们老师说这道题有问题,常规方法 2020-04-26 …
C(n+1,m)=C(n,m)+C(n,m+1)好像是这个公式吧,我也不是很熟,这个公式究竟是怎么 2020-04-26 …
数集M满足条件,若a∈M,则1+a/1-a∈M(a≠±1且a≠0.已知3∈M,请把由此确定的集合M 2020-05-13 …
若虚数m²+1+(m²-m)i与虚数+1(-1+m)i是共轭复数,则实数m=我算出来m=±1问:m 2020-06-28 …
阅读下列材料并解决有关问题:我们知道,|m|=-m(m<0)0(m=0)m(m>0).现在我们可以 2020-07-08 …
几个数学问题,请高手回答一下.1.1^2+2^2+3^2+4^2+……(N-1)^2=[(N-1) 2020-07-31 …
帮忙求个递推公式,从兔子繁殖问题衍生而来.m(0)=1,m(1)=1,m(2)=1,m(3)=2, 2020-08-01 …
有这么一道题(截取下来的):q是质数,1/q+2/q+...+(q-1)/q=m为什么答案分析那里写 2020-11-20 …
math``````````快!1.3MX平方-(2M+3N)X+2N=0(M+N不等于0)这个方程 2021-02-04 …