【文章內(nèi)容簡介】
= mystring 39。 輸出乘法表字符串End Sub3) 運行程序,結(jié)果如圖14所示。6.設(shè)計程序,求s = 1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + 3 + … + n)的值。答:使用For…Next循環(huán)語句的嵌套,來控制加數(shù)的個數(shù)以及每個加數(shù)的數(shù)字個數(shù)。變量n的值從鍵盤輸入,n的值決定了表達式的“長度”。如果n為3,表達式為1 + (1 + 2) + (1 + 2 + 3),長度為3;如果n為4,表達式為1 + (1 + 2) + (1 + 2 + 3) + (1 + 2 + 3 + 4),長度圍;…。設(shè)計步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。2) 編寫事件代碼。39。 命令按鈕“計算”的Click事件Private Sub Button1_Click(ByVal sender As ,ByVal e As ) _Handles Dim myNumber As Double Dim i, j, k, sum As Integer sum = 0 myNumber = CInt() i = myNumber For j = 1 To i 39。 控制表達式個數(shù) For k = 1 To j 39。 控制每個表達式數(shù)字個數(shù) sum = sum + k Next Next = CStr(sum) End Sub3) 運行程序,輸入n值后單擊“計算”按鈕,結(jié)果如圖15所示。圖15 求s的值7.編制程序,求出所有小于或等于500的自然數(shù)對。自然數(shù)對是指兩個自然數(shù)的和與差都是平方數(shù),如12與37的和12 + 37 = 49與其差37 – 12 = 25都是平方數(shù),則12和37稱為自然數(shù)對。答:使用For…Next循環(huán)語句的嵌套來檢查500以內(nèi)的所有自然數(shù)對。設(shè)計步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。2) 編寫事件代碼。39。 命令按鈕“求500以內(nèi)自然數(shù)對”的Click事件Private Sub Button1_Click(ByVal sender As ,ByVal e As ) _Handles Dim k, m, n, s, d As Integer () For n = 1 To 500 39。 循環(huán)500以內(nèi)的所有自然數(shù) For m = 1 To n 39。 循環(huán)每一個數(shù) s = n + m d = n m If (s) = Int((s)) And (d) = Int((d)) Then (CStr(n) amp。 Space(2) amp。 CStr(m)) End If Next NextEnd Sub3) 運行程序,單擊“求500以內(nèi)自然數(shù)對”按鈕,結(jié)果如圖16所示。圖16 求自然數(shù)對8.“完備數(shù)”是指一個數(shù)恰好等于它的因子之和,如6的因子為3,而6 = 1 + 2 + 3,因而6就是完數(shù)。編制程序,找出1~1000之間的全部“完備數(shù)”,并將這些完備數(shù)顯示在列表框中。答:判斷一個數(shù)是否是“完備數(shù)”,首先要求出將該數(shù)的所有約數(shù),然后將這些約數(shù)相加。如果和等于該數(shù),則該數(shù)就是“完備數(shù)”。設(shè)計步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。在窗體上添加文本框控件對象、下拉列表控件對象、命令按鈕控件對象。設(shè)置如圖17左所示。 圖17 完備數(shù)2) 編寫事件代碼。39。 命令按鈕“顯示”的Click事件Private Sub Button1_Click(ByVal sender As ,ByVal e As ) _Handles Dim i, j, sum As Integer For i = 2 To 1000 39。 循環(huán)1000以內(nèi)的所有整數(shù) For j = 1 To Int((i)) + 1 39。 循環(huán)求每個整數(shù)的因數(shù) If i Mod j = 0 Then sum = sum + j 39。 求每個整數(shù)的因數(shù)和 End If Next If sum = i Then 39。 判斷因數(shù)與原數(shù)是否相等 (i) 39。 如果相等則將其添加到下拉列表框中 End If sum = 0 NextEnd Sub3) 運行程序,單擊“顯示”按鈕,結(jié)果如圖17右所示。習(xí)題61.現(xiàn)有1個三維數(shù)組A(2,4,6),請問該數(shù)組包含多少個數(shù)組元素?答:包含357=105個數(shù)組元素。2.在VB 2005中,可以改變已聲明數(shù)組的維數(shù)嗎?使用ReDim語句可以改變已聲明數(shù)組的數(shù)據(jù)類型嗎?答:VB 2005規(guī)定不能改變已聲明數(shù)組的維數(shù)。使用ReDim語句不可以改變已聲明數(shù)組的數(shù)據(jù)類型,但可以通過ReDim語句改變已聲明數(shù)組的大小,也就是為數(shù)組變量重新分配存儲空間。3.求方陣的對角線元素之和。答:求方陣的兩個對角線元素和,即求數(shù)組行、列下標(biāo)值相等的元素值的和。設(shè)計步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。在窗體上添加控制面板控件對象。設(shè)置如圖18左所示。 圖18 方陣的兩個對角線元素的和2) 編寫事件代碼。Dim myArray(4, 4) As Integer39。 窗體的Load事件Private Sub Form1_Load(ByVal sender As , ByVal e As ) _Handles Dim i, j As Integer Dim myString As String = Randomize() For i = 0 To 4 For j = 0 To 4 myArray(i, j) = Int(Rnd() * 90) + 10 myString = myString amp。 CStr(myArray(i, j)) amp。 Next myString = myString amp。 vbCrLf Next = myStringEnd Sub39。 命令按鈕“計算”的Click事件Private Sub Button1_Click(ByVal sender As , ByVal e As ) _Handles Dim i, j, sum As Integer sum = 0 For i = 0 To 4 For j = 0 To 4 If i = j Then sum = sum + myArray(i, j) End If Next Next = CStr(sum)End Sub3) 運行程序,單擊“計算”按鈕,結(jié)果如圖18右所示。4.矩陣的加法運算(提示:兩個相同階數(shù)的矩陣A和B相加,是將相應(yīng)位置上的元素相加后放到同階矩陣C的相應(yīng)位置)。答:矩陣相加,即將兩個維數(shù)相同的二維數(shù)組下標(biāo)相同的元素相加,公式為:C(i,j) = A(i,j) + B(i,j)設(shè)計步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。在窗體上添加列表控件對象、組框控件對象。設(shè)置如圖19左所示。 圖19 矩陣的加法2) 編寫事件代碼。Dim A(4, 4) As IntegerDim B(4, 4) As IntegerDim C(4, 4) As Integer39。 窗體的Load事件Private Sub Form1_Load(ByVal sender As , ByVal e As ) _Handles Dim i, j As Integer Dim myString As String = Randomize() For i = 0 To 4 For j = 0 To 4 A(i, j) = Int(Rnd() * 90) + 10 myString = myString amp。 CStr(A(i, j)) amp。 Next myString = myString amp。 Chr(10) (myString) myString = Next myString = For i = 0 To 4 For j = 0 To 4 B(i, j) = Int(Rnd() * 90) + 10 myString = myString amp。 CStr(B(i, j)) amp。 Next myString = myString amp。 Chr(10) (myString) myString = NextEnd Sub39。 命令按鈕“=”的Click事件Private Sub Button1_Click(ByVal sender As , ByVal e As ) _Handles Dim i, j As Integer Dim myString As String = For i = 0 To 4 For j = 0 To 4 C(i, j) = A(i, j) + B(i, j) myString = myString amp。 CStr(C(i, j)) amp。 Next myString = myString amp。 Chr(10) (myString) myString = NextEnd Sub3) 運行程序,單擊“=”按鈕,結(jié)果如圖19右所示。5.利用二維數(shù)組統(tǒng)計10個學(xué)生成績,將成績及格或不及格的學(xué)生姓名和分數(shù)顯示出來。學(xué)生姓名和成績從鍵盤輸入。答:學(xué)生的信息由姓名和分數(shù)組成,所以使用二維數(shù)組存儲。設(shè)計步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。在窗體上添加掩碼文本框控件對象、列表框控件對象、下拉列表框控件對象。設(shè)置如圖20左所示。 圖20 統(tǒng)計學(xué)生成績2) 編寫事件代碼。Dim student(9, 1) As StringDim i As Integer = 039。 窗體的Load事件Private Sub Form1_Load(ByVal sender As , ByVal e As ) _Handles (及格) (不及格)End Sub39。 命令按鈕“添加”的Click事件Private Sub Button1_Click(ByVal sender As , ByVal e As ) _Handles student(i, 0) = student(i, 1) = (student(i, 0) amp。 Space(2) amp。 student(i, 1)) () i = i + 1 If i 9 Then = False End IfEnd Sub39。 下拉列表框的SelectedIndexChanged事件Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As , ByVal e _As ) Handles Select Case Case Is = 及格 () For i = 0 To 9 If student(i, 1) = 60 Then (student(i, 0) amp。 Space(2) amp。 student(i, 1)) End If Next Case Is = 不及格 () For i = 0 To 9 If student(i, 1) 60 Then (student(i, 0) amp。 Space(2) amp。 student(i, 1)) End If Next End SelectEnd Sub3