




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1 求10個數(shù)中的最大值及其下標(biāo)首先定義包含10個元素的一維數(shù)組,然后賦初值(兩種方法,一是通過隨機函數(shù),二是用inputbox函數(shù))Private Sub Form_Click()Dim a(1 To 10) As Integer, max As Integer, i%, p% 'max存放10個數(shù)中的最大值,p存放當(dāng)前最大值的下標(biāo)Print "這10個數(shù)分別是"PrintFor i = 1 To 10 a(i) = Int(Rnd * 91) + 10 '給一維數(shù)組賦初值,為10到100之間的隨機值 'a(i) = InputBox("
2、請輸入10個數(shù)") Print a(i);Next i max = a(1) p = 1For i = 2 To 10 If a(i) > max Then max = a(i) p = i End IfNext iPrintPrint "這10個數(shù)中最大值和下標(biāo)為:"Print max, pEnd Sub2. 將包含10個元素的數(shù)組倒置(逆序),說明,即第一元素和最后一個元素交換,第二個元素和倒數(shù)第二個元素交換,一致類推,可以推導(dǎo)出兩個要交換的數(shù)的下標(biāo)之和為11(如果是n個數(shù)下標(biāo)之和為n+1),如對10個數(shù)逆序輸出交換的次數(shù)為5次,如果是n個數(shù)交換的次數(shù)為
3、n/2次Private Sub Form_Click()Dim a(1 To 10) As Integer, i%, t%Print "交換前這10個數(shù)分別是"PrintFor i = 1 To 10 Randomize a(i) = Int(Rnd * 91) + 10 '給一維數(shù)組賦初值,為10到100之間的隨機值 Print a(i);Next iFor i = 1 To 5t = a(i)a(i) = a(11 - i)a(11 - i) = tNext iPrintPrint "交換后這10個數(shù)分別是"PrintFor i = 1 To
4、 10 Print a(i);Next iEnd Sub3. 從鍵盤輸入10個數(shù),然后求其偶數(shù)之和與奇數(shù)之和Private Sub Form_Click()Dim a(1 To 10) As Integer, i%, sum1%, sum%sum1 = 0 '存放偶數(shù)之和sum2 = 0 '存放奇數(shù)之和Print "交換前這10個數(shù)分別是"PrintFor i = 1 To 10 Randomize a(i) = Int(Rnd * 91) + 10 '給一維數(shù)組賦初值,為10到100之間的隨機值 Print a(i);Next iFor i = 1
5、 To 10If a(i) Mod 2 = 0 Then sum1 = sum1 + a(i)Else sum2 = sum2 + a(i) End IfNext iPrintPrint "這10個數(shù)中偶數(shù)之和為:" & sum1Print "這10個數(shù)中奇數(shù)之和為:" & sum2End Sub4 排序問題一是冒泡法:Private Sub Form_Click()Dim a(1 To 10) As IntegerDim i As IntegerDim t As IntegerDim j As IntegerPrint "這1
6、0個數(shù)為:"RandomizeFor i = 1 To 10 Step 1a(i) = Int(Rnd * 91) + 10Next iFor i = 1 To 10 Step 1 Print a(i); Space(5);Next iPrintFor i = 1 To 9For j = 1 To 10 - iIf a(j + 1) < a(j) Then t = a(j) a(j) = a(j + 1) a(j + 1) = t End If Next jNext iPrint "從小到大排序后這10個數(shù)為:" For i = 1 To 10 Step 1
7、 Print a(i); Space(5);Next iEnd Sub方法二選擇法排序Private Sub Form_Click()Dim a(1 To 10) As IntegerDim i As IntegerDim k As IntegerDim t As IntegerDim j As IntegerFor i = 1 To 10 Step 1 Randomize a(i) = Int(Rnd * 91) + 10Next iFor i = 1 To 10 Step 1 Print a(i); Space(5);Next iPrintFor i = 1 To 9k = iFor j
8、= i + 1 To 9If a(j) < a(k) Then k = jNext j t = a(i) a(i) = a(k) a(k) = tNext iPrint For i = 1 To 10 Step 1 Print a(i); Space(5);Next i End Sub5. Fibonacci序列,序列為1,1,2,3,5,8.輸入該序列的前30項,并且五個一行輸出Private Sub Form_Click()Dim a!(1 To 30), i%a(1) = 1a(2) = 1Print a(1); a(2);For i = 3 To 30 Step 1a(i) =
9、a(i - 1) + a(i - 2)Print a(i);If i Mod 5 = 0 Then PrintNext iEnd Sub6.有一個已經(jīng)按升序排序好的一維數(shù)組,另輸入一個數(shù),按原來的規(guī)律插入到該數(shù)組中說明:找到該數(shù)num要插入的位置是關(guān)鍵,因為是升序,所以一旦該數(shù)第一次大于數(shù)組中的元素是,這個時候就是該數(shù)插入數(shù)組中的位置,記為k的話,那么就要把該位置騰出來,此時只要從最后一個元素開始到第K個元素往后移動一個位置,第k個元素的位置騰出,就可將數(shù)據(jù)num插入Private Sub Form_Click()Dim a%(1 To 11), i%, j%, t%, n%i = 1Prin
10、t "這10個數(shù)分別是"PrintFor i = 1 To 10 a(i) = i * 2 '給一維數(shù)組賦初值 Print a(i);Next in = InputBox("請輸入一個數(shù):")For i = 1 To 10If n < a(i) Then Exit For i即是num要插入的位置Next i For j = 10 To i Step -1 a(j + 1) = a(j) Next j a(i) = n Print For i = 1 To 11 Print a(i);Next iEnd Sub大家想想如果題目改成如下,怎么
11、做?設(shè)有一個已排序好的數(shù)組,另輸入一個數(shù),要求按原來的規(guī)律將它插入到數(shù)組中說明:這樣的話就應(yīng)該分兩種情況,判斷是升序還是降序,然后再找出該數(shù)需要插入的位置Private Sub Form_Click()Dim a%(1 To 11), i%, j%, t%, n%Print "這10個數(shù)分別是"PrintFor i = 1 To 10 a(i) = i * (-2) '給一維數(shù)組賦初值 Print a(i);Next in = InputBox("請輸入一個數(shù):")If a(1) < a(2) Then '判斷是升序還是降序,如果第
12、一個元素小于第二元素,說明是升序,否則降序i = 1 Do While n > a(i) i = i + 1 Loop For j = 10 To i Step -1 a(j + 1) = a(j) Next j a(i) = n Else i = 1 Do While n < a(i) i = i + 1 Loop For j = 10 To i Step -1 a(j + 1) = a(j) Next j a(i) = n End If Print For i = 1 To 11 Print a(i);Next iEnd Sub7.編一程序,從一個已排序好的數(shù)組中刪去某個位置上
13、的元素說明:要找到欲刪除的元素的位置k;然后從k+1到n個位置開始向前移動;最后將數(shù)組元素的個數(shù)減1Private Sub Form_Click()Dim a%(1 To 10), i%, j%, t%, n%i = 1Print "這10個數(shù)分別是"PrintFor i = 1 To 10 a(i) = i * 2 '給一維數(shù)組賦初值 Print a(i);Next in = InputBox("請輸入要刪除元素的位置:") For j = n + 1 To 10 a(j - 1) = a(j) Next j Print Print "
14、;刪除第" & n & "個位置元素后為" For i = 1 To 9 Print a(i);Next iEnd Sub8.假設(shè)有一個整型數(shù)組,另輸入一個整數(shù),編程查找這個整數(shù)是否在數(shù)組中出現(xiàn)過,如出現(xiàn),則輸出第一次出現(xiàn)的位置,否則,輸出no foundPrivate Sub Form_Click()Dim a%(1 To 10), i%, flag%, num, nflag = 0Print "一維數(shù)組的值如下:"For i = 1 To 10a(i) = Int(Rnd * 91) + 10 '假定給一維數(shù)組賦10
15、到100之間的隨機值Print a(i);Next inum = InputBox("請輸入一個數(shù):")For i = 1 To 10If a(i) = num Thenflag = 1n = iExit ForEnd IfNext iPrintIf flag = 1 ThenPrint num & "在一維數(shù)組中出現(xiàn)的位置是" & nElsePrint " no found"End IfEnd Sub9. 二維數(shù)組元素求所有元素中最大值及其下標(biāo)Private Sub Form_Click()Dim a%(1 To 2
16、, 1 To 3), max%, i%, j%, r%, c% '其中i和j分別控制行和列,r和c存放當(dāng)前最大元素的行下標(biāo)和列下標(biāo)For i = 1 To 2For j = 1 To 3Randomizea(i, j) = Int(Rnd * 10) + 90 '用隨機函數(shù)給二維數(shù)組賦值'a(i, j) = InputBox("請輸入6個數(shù)") '用inputbox給二維數(shù)組賦值Print a(i, j);Next jPrintNext ir = 1c = 1max = a(1, 1)For i = 1 To 2For j = 1 To 3I
17、f a(i, j) > max Thenmax = a(i, j)r = ic = jEnd IfNext jNext iPrint "二維數(shù)組中最大的元素及其行下表和列下標(biāo)為:" & max, r, cEnd Sub10. 編寫一程序,在一個二維數(shù)組中,查找第一次出現(xiàn)的負(fù)數(shù),并輸出該數(shù)及其所在的行和列號說明:假設(shè)這個二維數(shù)組包含3行4列,有兩種情況,一種是出現(xiàn)負(fù)數(shù),一種情況是沒有出現(xiàn)負(fù)數(shù),我們首先假定沒有出現(xiàn)負(fù)數(shù),用flag=0記下這鐘情況,那么如果找到的話,flag=1,此時就要退出內(nèi)層循環(huán)并且推出外層循環(huán)。Private Sub Form_Click()Dim a%(1 To 3, 1 To 4), i%, j%, flag%, row%, column%flag = 0Print "二位數(shù)組如下:"For i = 1 To 3 For j = 1 To 4 a(i, j) = Int(Rnd * 41) - 20 '假定給二維數(shù)組賦-20到20之間的隨機值 Print a(i, j); Next j PrintNext iFor i = 1 To 3 For j = 1 To 4 If a(i, j) < 0 Then flag = 1 row = i col
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 治污減霾協(xié)議書
- 工廠泡沫品質(zhì)協(xié)議書
- 家具供應(yīng)技術(shù)協(xié)議書
- 寒假安全保證協(xié)議書
- 宜賓生態(tài)環(huán)境協(xié)議書
- 定向捐資助學(xué)協(xié)議書
- 私下轉(zhuǎn)店協(xié)議書
- 汽車開戶協(xié)議書
- 小學(xué)考試管理協(xié)議書
- 工程安全保證協(xié)議書
- 康復(fù)技術(shù)考試試題及答案
- 安全生產(chǎn)月活動查找身邊安全隱患人人講安全個個會應(yīng)急課件
- 2025年新工人入場安全培訓(xùn)考試試題附完整答案(奪冠)
- 2024年云南省文山州第二人民醫(yī)院選調(diào)工作人員考試真題
- 河北名校2025屆高考生物全真模擬密押卷含解析
- 血站考試試題及答案
- (三模)南通市2025屆高三第三次調(diào)研測試英語試卷(含答案解析)
- 2025年高考化學(xué)三輪沖刺:實驗綜合大題 刷題練習(xí)題(含答案解析)
- 寧夏銀川市2023?2024學(xué)年高一下學(xué)期期中考試 數(shù)學(xué)試卷(含解析)
- 浙江浙達環(huán)境科技有限公司年收集、貯存及轉(zhuǎn)運危險廢物5000噸的搬遷項目環(huán)評報告
- 抗凝劑皮下注射技術(shù)臨床實踐指南(2024版)解讀
評論
0/150
提交評論