早教吧作业答案频道 -->其他-->
懂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的高手进来翻译下下面的代...的网友还看了以下:
在密闭容器重进行可逆反应,A与B反应生成C,其反应速率分别用V(A).V(B).V(C)(mol/ 2020-05-23 …
对于字符串s="java",下面哪个选项可以返回字符'v'在字符串中的位置?A.s.charAt( 2020-07-17 …
(一般薛定谔方程的求解)考虑一维势阱V(x)中的单粒子问题,单粒子的质量为m.假设在某些区域V(x 2020-07-23 …
试根据法拉第电磁感应定律E=n△Φ△t,推导出导线切割磁感线产生的感应电动势大小的表达式E=BLv 2020-07-26 …
谁能给出满足下列条件的双线性映射e:G1×G2→Gt,其中G1,G2,Gt均为乘法循环群.要求是必 2020-07-30 …
如图所示,光滑水平面上,A、B两球沿同一直线相向运动,已知mA=3kg,vA=5m/s,mB=4kg 2020-11-01 …
(2014•龙岩模拟)对于反应aA+bB=dD+eE,该化学反应速率定义为v=v(A)a=v(B)b 2020-11-12 …
关于公示ρ=m/V,下列说法中正确的是()A.对于不同的物质,m越大,ρ越大B.对于同一种的物质,V 2020-11-23 …
[2012·陕西高考]小王从甲地到乙地往返的时速分别为a和b(a<b),其全程的平均时速为v,则() 2020-12-09 …
甲物体的质量是乙物体质量的二倍,二物体同时从同一高度做自由落体运动,下面说法正确的是A,梁无题下落过 2021-01-16 …