【正文】
…………………………………………………………Private Sub Command1_Click()Dim MaxWord$Maxlength Text1 amp。…………………………………………………………s=Mid(s,i+1) 39。 分離出空格左邊的單詞word與MaxWord 比較決定是否替換為MaxWord (2) 取S中剩余字符串,重復(fù)(1),直到S為空。…………………………………………………………i=InStr(s, ) 39。假定字符串s內(nèi)只含有字母和空格,空格分隔不同的單詞。例如:s1= 12345678AAABBDFG12345 S2= 234 結(jié)果: s1= 15678AAABBDFG15 提示: 為了刪除子串,首先利用InStr函數(shù)查找子串;若找到則通過Left、Mid(或Right)函數(shù)實(shí)現(xiàn)子字符串的刪除;同時(shí)要利用循環(huán)考慮到刪除多個(gè)子串的情況。 a(j)。 =1。: 完數(shù)運(yùn)行界面 提示: 判斷一個(gè)數(shù)m是否是完數(shù),算法思想是:將m依次除以1~m/2,如果能整除,就是m的一個(gè)因子,進(jìn)行累積;循環(huán)結(jié)束,若m與累加因子之和相等,m就是完數(shù)。編寫一個(gè)函數(shù)IsWs(m)判斷m是否為完數(shù),函數(shù)的返回值是邏輯型。 對(duì)素?cái)?shù)和End Sub實(shí)驗(yàn)66如果一個(gè)整數(shù)的所有因子(包括1,但不包括本身)之和與該數(shù)相等,則稱這個(gè)數(shù)為完數(shù)。 i jn = n + 1End IfEnd IfNext jNext i = 6和100之間共有 amp。 j amp。Function prime(ByVal m As Integer) As Booleanprime = TrueDim i%For i = 2 To m 1If (m Mod i) = 0 Then prime = False: Exit FunctionNext iEnd FunctionPrivate Sub Command1_Click()n = 0For i = 6 To 100 Step 2For j = 3 To i \ 2If prime(j) ThenIf prime(i j) Then i amp。 (2) 主調(diào)程序?qū)σ阎?~100之間的全部偶數(shù)Even,把它分解成兩個(gè)奇數(shù)Odd1和Odd2(Even-Odd1),先調(diào)用prime函數(shù),判斷Odd1是否是素?cái)?shù),若不是素?cái)?shù),則不必再對(duì)Odd2進(jìn)行判斷;否則再判斷Odd2,若都是素?cái)?shù),則添加到列表框。編程將6~100之間的全部偶數(shù)表示為兩個(gè)素?cái)?shù)之和,在列表框顯示結(jié)果,最后Label1顯示共有多少對(duì)素?cái)?shù)之和。Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf Not IsNumeric(Text1) ThenMsgBox 輸入非數(shù)字串,重新輸入 = ElseIf IsH(Text1) Then Text1。當(dāng)只有一位數(shù)時(shí),也認(rèn)為是回文數(shù)。主調(diào)程序每輸入一個(gè)數(shù),調(diào)用IsH函數(shù)過程,然后在圖形框顯示輸入的數(shù),對(duì)于是回文數(shù)顯示一個(gè)★?! ‘?dāng)?shù)趎項(xiàng)的精度小于105時(shí)結(jié)束,x為弧度;主調(diào)程序同時(shí)調(diào)用Mysin和內(nèi)部函數(shù)sin,進(jìn)行驗(yàn)證。 Tab(12)。 Tab(6)。 aminEnd SubSub s(b(), min)Dim i%min = b(LBound(b))For i = LBound(b) + 1 To UBound(b)If b(i) min Then min = b(i)Next iEnd Sub實(shí)驗(yàn)62,編一求兩數(shù) m , n 最大公約數(shù)的函數(shù)過程f(m,n);主調(diào)程序在兩個(gè)文本框接收輸入數(shù)據(jù),在圖形框顯示結(jié)果。進(jìn)一步思考:若將上面ProcMin過程的amin形參由地址傳遞(ByRef)改為值傳遞(ByVal),調(diào)用后的效果如何?應(yīng)該用何種形式傳遞才能得到正確的結(jié)果?Private Sub Form_Click()Dim a(1 To 10), amin, i%For i = 1 To 10a(i) = Int(Rnd * 101 + 300)Print a(i)。Private Type clerknumber As String * 3name As String * 5salary As IntegerEnd TypeDim a(0 To 4) As clerk, n%Private Sub Command1_Click()If n = 5 ThenMsgBox (輸入人數(shù)超過數(shù)組聲明的個(gè)數(shù))ElseWith a(n).number = Text1.name = Text2.salary = Text3 a(n).number, a(n).name, a(n).salaryPrintEnd Withn = n + 1Text1 = Text2 = Text3 = End IfEnd SubPrivate Sub Command2_Click()Dim t As clerk, i%, j%For i = 0 To n 1For j = i To n 1If a(i).salary a(j + 1).salary Thent = a(i): a(i) = a(j + 1): a(j + 1) = tEnd IfNext jNext i 工號(hào) 姓名 工資For i = 0 To n 1 a(i).number, a(i).name, a(i).salaryPrintNext iEnd Sub實(shí)驗(yàn)61編一子過程ProcMin(a(),amin),求一維數(shù)組a中的最小值amin。 ② 為了保存當(dāng)前輸入職工元素的個(gè)數(shù),該變量應(yīng)在通用聲明段聲明,若在事件過程中聲明,每次運(yùn)行將被初始化為0。② 窗體中設(shè)計(jì)3個(gè)標(biāo)簽、3個(gè)文本框、2個(gè)命令按鈕和1個(gè)圖形框,文本框分別輸入職工號(hào)、姓名、工資;當(dāng)單擊新增按鈕時(shí),將文本框輸入的內(nèi)容添加到數(shù)組的當(dāng)前元素中;當(dāng)單擊排序按鈕時(shí),將輸入的內(nèi)容按工資遞減的順序排序,并在圖形框顯示。要求:① 自定義一個(gè)職工數(shù)據(jù)類型,包含職工號(hào)、姓名、工資三項(xiàng)內(nèi)容。② 屏幕對(duì)象Screen有一系列的屬性,其中Fonts是存放所有字體名的字符數(shù)組,F(xiàn)ontCount是所有字體的個(gè)數(shù)。例,最大值與最后項(xiàng)交換的代碼如下:t=()()= (iMax)(iMax)= tPrivate Sub Combo1_KeyPress(KeyAscii As Integer)Select Case KeyAsciiCase 48 To 57, 13Case ElseKeyAscii = 0End SelectIf KeyAscii = 13 Then = End IfEnd SubPrivate Sub Command1_Click()Max = Val((0))iMax = 0Min = Val((0))iMin = 0For i = 1 To 1If Val((i)) Max ThenMax = Val((i))iMax = iElseIf Val((i)) Min ThenMin = Val((i))iMin = iEnd IfNext it = ( 1)( 1) = (iMax)(iMax) = tt = (0)(0) = (iMin)(iMin) = tEnd Sub實(shí)驗(yàn)59提供在窗體上顯示的以漢字開頭的字體名稱,并顯示該名稱所對(duì)應(yīng)得字體樣式。③ 按照求最大值和最小值的方法,在組合框中找最小值和最大值,并獲得最小值和最大值下標(biāo);注意比較時(shí)要用Val函數(shù),否則作為字符串比較。0~9數(shù)字和回車鍵為合法數(shù)據(jù)Case Else 39。 : : 超過5門課程的顯示Private Sub Form_Load() C/C++程序設(shè)計(jì) VB程序設(shè)計(jì) 數(shù)據(jù)庫技術(shù)應(yīng)用 硬件技術(shù)基礎(chǔ) Web程序設(shè)計(jì) 多媒體技術(shù)與應(yīng)用 網(wǎng)絡(luò)技術(shù)與應(yīng)用 軟件技術(shù)基礎(chǔ) 大學(xué)計(jì)算機(jī)基礎(chǔ)End SubPrivate Sub List1_Click()If 5 Then ElseMsgBox 超過5門課程,不能再選End IfEnd Sub實(shí)驗(yàn)58窗體上建立一個(gè)簡單組合框,在組合框的文本框輸入數(shù)字字符,按回車鍵后加入到組合框的列表框內(nèi),;單擊“交換”按鈕,將列表框中最小值項(xiàng)目和第0個(gè)項(xiàng)目交換;最大值與最后項(xiàng)目交換。它包含2個(gè)列表框,左邊為已開設(shè)的課程名稱,通過Form1_Load時(shí)間加入,并按拼音字母排序;當(dāng)單擊某課程名稱后,將該課程加入到右邊列表框,并在左邊列表框中刪除該課程。 a(i, j)。 ?、?利用TAB函數(shù)確定每列的寬度,使得列對(duì)齊?! 、?對(duì)下三角各元素進(jìn)行設(shè)置:第一列及對(duì)角線上均為1,其余每一個(gè)元素正好等于它上面一行的同一列和前一列的兩個(gè)元素之和。=8的效果。 sum1 B數(shù)組主對(duì)角線元素和為:。For j = i To 4 b(i, j)?!?: Dim a(4, 4) As Integer, b(4, 4) As IntegerPrivate Sub Command1_Click()For i = 1 To 4For j = 1 To 4a(i, j) = Int(Rnd * 41 + 30)Next jNext iFor i = 1 To 4For j = 1 To i a(i, j)。If i Mod 10 = 0 Then PrintNext iEnd Sub實(shí)驗(yàn)55,在通用聲明段聲明兩個(gè)數(shù)組,利用隨機(jī)函數(shù)形成如下兩個(gè)數(shù)組: 要求:① 以下三角形式顯示A數(shù)組、上三角形式顯示B數(shù)組。 個(gè)End IfNext iEnd Sub實(shí)驗(yàn)54隨機(jī)產(chǎn)生10個(gè)2位數(shù),按從大到小遞減的順序排列,并顯示排序結(jié)果。 )的人數(shù)有 。If (i + 1) Mod 4 = 0 ThenEnd IfNext iEnd SubPrivate Sub Command2_Click()Dim s%(9)For i = 0 To 19k = mark(i) \ 10Select Case kCase 0 To 5s(5) = s(5) + 1Case 9 To 10s(9) = s(9) + 1Case 6 To 8s(k) = s(k) + 1End SelectNext iFor i = 0 To 9If s(i) 0 Then s(。存放其他三個(gè)分?jǐn)?shù)段的數(shù)組元素的下標(biāo)有規(guī)律,根據(jù)k獲得s(k)=s(k)+1End SelectNext iDim mark%(19)Private Sub Command1_click()For i = 0 To 19mark(i) = Int(Rnd * 101)Next iFor i = 0 To 19 mark(i)。0~59分不及格的人數(shù)s(5)=s(5)+1Case 9 To 10 39。: 提示:①本程序有兩個(gè)事件過程,都要用到存放20個(gè)學(xué)生的數(shù)組,因此在通用聲明段聲明一個(gè)數(shù)組,例,Dim mark%(19);在Command2事件過程中聲明一個(gè)數(shù)組s(9),分別存放分?jǐn)?shù)段的人數(shù)。即0~560~670~780~890~100,并顯示結(jié)果。 : Private Sub Form_click()Dim aa = Array(56, 78, 98, 88, 76, 78)For i = 0 To 5Print String(a(i) \ 5, ◆)。 Min, Avg=。Next iPrintPrint Max=。 zEnd IfNext zNext yNext xEnd Sub實(shí)驗(yàn)51隨機(jī)產(chǎn)生30~100(包括30,100)的10個(gè)正整數(shù),求最大值、最小值、平均值,并顯示整個(gè)數(shù)組的值和結(jié)果。 。 y=。 x。編寫程序安排考試日程(即x,y,z三門課程各在那一天考),要求列出滿足條件的所有方案。 元End Sub實(shí)驗(yàn)414用計(jì)算機(jī)安排考試日程。Private Sub mand1_click()Dim x, i%x = For i = 1 To 29x = 2 * xNext i = x amp。 為求得的根End Sub實(shí)驗(yàn)413一個(gè)富翁試圖與陌生人做一筆換錢生意,換錢規(guī)則為:陌生人每天給富翁10萬元錢,直到滿一個(gè)月(30天);而富翁第一天給陌生人1分錢,第二天2分,第三天4分,……,富翁每天給陌生人的錢是前一天的兩倍,直到滿一個(gè)月。提示: 假定x0的初值為a,根據(jù)迭代公式得x1 ,若迭代結(jié)束;否則用x1代替x0繼續(xù)迭代。 Mod 60If = 0 Then = FalseEnd Sub實(shí)驗(yàn)412