16.一個字符串的子串是指該串的一個連續的局部。設計一個從長到短依次輸出升序子串的程序,程序運行界面如圖所示: 實現該功能的VB程序如下,但加框處代碼有錯,請改正。 Private Sub Command1_Click ( ) Dim a(1 To 100)As String,s As String Dim n As Integer,i As Integer,j As Integer,t As String s=Text1.Text n=1 a(1)=Mid(s,1,1) For i=2 To Len(s) If Then n=n+1′① a(n)=a(n)+Mid(s,i,1) Next i For i=1 Ton-1 For j=n Toi+1 Step-1 IfThen′② t=a(j):a(j)=a(j-1):a(j-1)=t End If Next j Next i Fori=1 To n List1.Addltem a(i) Next i End Sub
17.小劉用VB軟件編寫一個程序,用加法的方法實現一個數據與11相乘。以72*11為例: (1)將2作為運算結果的個位數2,將7作為運算結果的百位數 (2)將7加2作為運算結果的十位數。 (3)將(1)(2)(3)的運算結果按順序寫出來就是792 注意:在第(2)中的數字相加如果大于10,向前進位,該位數字為減去10后的數。 具體功能如下:在文本框Textl中輸入1個數,單擊“計算”按鈕,結果顯示在文本框Text2中。程序運行界面如圖所示: (1)實現上述功能的VB程序如下,請在橫線處填入合適的代碼。 Private Sub jisuan Click ( ) Dim m As Integer,n As Integer Dim a(1 to 10)As Integer,b(1 to 10)As Integer m=Val(Text1.Text) n=0 Do While m<>0 n=n+1 ① m=m\10 Loop b(1)=a(1) s=b(1) For i=2 To n ② If b(i)>10Then b(i)=b(i)-10:③ s=s+b(i)*10(i-1) Next i b(n+1)=b(n+1)+a(n) s=s+b(n+1)*10(n) Text2.Text=Str(s) End Sub (2)若文本框Text1中輸入的內容為“5678”,單擊“計算”按鈕,文本框Text2中顯示的內容是