16.下列VB程序用于求2個正整數(均小于10000的最大公約數): Private Sub Command1_Click ( ) Dim x As Integer Dim y As Integer Dim z As Integer x=Val(Text1.Text) y=Val(Text2.Text) z=gcd(a,b)
Text3.Text=Str(z) End Sub Function gcd(a As Integer,b As Integer) As Integer Do While a>b
If a>b Then a=a-b Else b=b-a Loop gcd=b End Function 其中,劃線①,②部分有錯,應改為
17.小林想用VB實現以下功能:輸入一個十進制正整數(10000以內),輸出其二進制形式.效果圖如圖1所示,完成以下填空. Private Sub Command1_Click ( ) Dim a As Long Dim b As String Dim c As String a=Val(Text1.Text) b=““ Do While a>0 c=Str(a Mod 2)
a=
Loop Text2.Text=b End Sub (1)完善代碼,空格①部分應填入
,空格②部分應填入
. (2)小林為了使得代碼功能更強大,希望修改代碼,添加一個文本框輸入整數k(范圍在2到9之間),使得程序能實現十進制到k進制的轉化.得到的界面和代碼如圖2所示: Private Sub Command1_Click ( ) Dim a As Long Dim b As String Dim c As String Dim k As Long a=Val(Text1.Text) k=Val(Text3.Text) b=““ Do While a>0 c=Str(