早教吧作业答案频道 -->其他-->
懂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的高手进来翻译下下面的代...的网友还看了以下:
在FOR之前SCK=1,每个SCK时钟下降沿读数据,帮忙分析下哪个程序正确,哪个错了for(i=0 2020-05-13 …
我把i发成了ei能改过来么?江湖英语高手可在乎?我能单独发好i和i:这两个音标,也能读清ni和ni 2020-05-16 …
英语翻译How I wish I could surrender my soul;Shed the 2020-05-16 …
i/{(i-1)(i-2)}的解答步骤我看答案看了半天没看明白,不是要答案,我这有答案,特别是i/ 2020-07-04 …
(斐波那契数列)谁能解释一下这个程序中的“c[i]:=c[i]+a[i]+b[i];varn,i, 2020-07-23 …
对数函数小题!对数函数w=lnzlnz=ln|z|+i(θ+2kπ)k=0,±1,±2,…………例 2020-08-02 …
一道挺难的数学题i*i=-1则x*x=-1可变为x=+i或-ii还具有以下性质:i=ii*i=-1i 2020-11-01 …
下证明过程中蕴涵的数学思想是什么s=a+a(1+i)+a(1+i)(1+i)+...+a(1+i)的 2020-11-01 …
c自加自减问题我晕了#includemain(){inti,x,y;i=2;x=(++i)+(i++ 2020-11-01 …
如图所示的数表,对任意正整数i(i=1,2,3,…)满足以下两个条件:①第一行只有一个数1;②第i行 2020-11-17 …