對口計算機(jī)高職單招VB編程練習(xí)題及答案_第1頁
對口計算機(jī)高職單招VB編程練習(xí)題及答案_第2頁
對口計算機(jī)高職單招VB編程練習(xí)題及答案_第3頁
對口計算機(jī)高職單招VB編程練習(xí)題及答案_第4頁
對口計算機(jī)高職單招VB編程練習(xí)題及答案_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)計算機(jī)高職單招VB編程練習(xí)題練習(xí)一 數(shù)據(jù)的輸入輸出以下程序代碼在窗體的單擊事件過程(Form_click)中編寫,結(jié)果輸出到窗體上。1、從鍵盤上輸入4個數(shù),編寫程序,計算并輸出這4個數(shù)的和及平均值。通過inputbox函數(shù)輸入數(shù)據(jù),在窗體上顯示和及平均值。Private Sub Form_Click() a = InputBox(輸入第一個數(shù)) a = Val(a) b = InputBox(輸入第二個數(shù)) b = Val(b) c = InputBox(輸入第三個數(shù))

2、 c = Val(c) d = InputBox(輸入第四個數(shù)) d = Val(d) Sum = a + b + c + d aver = Sum / 4 Print 所輸入的4個數(shù)分別為:; a; b; c; d Print 4個數(shù)的和為:; Sum Print 4個數(shù)的平均值為:; averEnd Sub2、編寫程序,要求用戶輸入下列信息:姓名、年齡、通信地址、郵政編碼、電話,然后將輸入的數(shù)據(jù)用適當(dāng)?shù)母袷皆诖绑w上顯示出來。Private Sub Form_Click() n$ = InputBox(請輸入您的姓名) Age$ = InputBox(請輸入您的年齡) Addr$ = Inp

3、utBox(請輸入通信地址) Pos$ = InputBox(請輸入郵政編碼) Tel$ = InputBox(請輸入電話號碼) Print Print Tab(6); 姓名; Space$(3); 年齡; Space$(3); 通信地址; _ Space$(5); 郵政編碼; Space$(3); 電話號碼 Print Print Tab(5); n$; Space$(3); Age$; Space$(3); Addr$; _ Space$(3); Pos$; Space$(3); Tel$ End Sub3、編寫程序,求解雞兔同籠問題。一個籠子中有雞X只,兔Y只,每只雞有2只腳,每只兔有4

4、只腳,今知雞和兔的總頭數(shù)為H,總腳數(shù)為F。問籠中雞和兔各若干?提示:根據(jù)數(shù)學(xué)知識,可以寫出如下的聯(lián)立方程式:XYH(1)2X4YF(2)(2)式2*(1)式:2YF2H故Y(F2H)/24*(1)(2)式:2X4HF故X=(4HF)/2可按上式編寫程序。用inputbox函數(shù)輸入H和F的值,設(shè)H71,F(xiàn)158,請編寫程序并上機(jī)運(yùn)行。Private Sub Form_Click() h = InputBox(請輸入雞和兔的總的頭數(shù)) h = Val(h) f = InputBox(請輸入雞和兔的總的腳數(shù)) f = Val(f) y = (f - 2 * h) / 2 x = (4 * h - f

5、) / 2 Print 籠中有雞; x; 只,兔; y; 只 End Sub4、設(shè)a=5,b=2.5,c=7.8,編程計算:Ypi*ab/(a+b*c)。y=3.14*a*b/(a+b*c)Private Sub Form_Click() a = 5: b = 2.5: c = 7.8 y = (3.1416 * a * b) / (a + b * c) Print y=; yEnd Sub程序運(yùn)行后,單擊窗體,輸出結(jié)果為:y=1.7145、輸入以秒為單位表示的時間,編寫程序,將其換算成幾日幾時幾秒。Private Sub Form_Click() Dim Second, Minute, Ho

6、ur, Day As Long Dim Second1 As Long Second = InputBox(請輸入秒數(shù)) Second = Val(Second) Second1 = Second Minute = Int(Second / 60) Second = Second Mod 60 Hour = Int(Minute / 60) Minute = Minute Mod 60 Day = Int(Hour / 24) Hour = Hour Mod 24 Print Second1; 秒=; Day; 天; Hour; 小時; Minute; 分; Second; 秒End Sub6

7、、自由落體位移公式為:s1/2gt2+vt,其中V為初始速度,g為重力加速度,t為經(jīng)歷程的時間,編寫程序,求位移量s。設(shè)v=4.8m/s,t=0.5s,g=9.81m/s2,在程序中把g定義為符號常量,用inputbox函數(shù)輸入v和t兩個變量的值。Private Sub Form_Click() Const g = 9.81 V = InputBox(Please input V:) T = InputBox(Please input T:) s = 1 / 2 * g * T 2 + V * T Print 位移量為:; sEnd Sub程序運(yùn)行后,單擊窗體,輸出結(jié)果為:位移量為:3.626

8、25練習(xí)二 常用標(biāo)準(zhǔn)控件1、在窗體上畫4個圖像框和一個文本框,在每個圖像框中裝入一個箭頭圖形,分為4個不同的方向,把文本框的multiline屬性設(shè)置為true。編寫程序,當(dāng)單擊某個圖像框時,在文本框中顯示相應(yīng)的信息。例如,單擊向右的箭頭時,在文本框中顯示“單擊向右箭頭”。程序如下:Private Sub Form_Load() Image1.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04up.ico) Image2.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04dn.ico )

9、 Image3.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04lt.ico ) Image4.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04rt.ico )End SubPrivate Sub image1_Click() Text1.Text = 單擊向上箭頭End SubPrivate Sub image2_Click() Text1.Text = 單擊向下箭頭End SubPrivate Sub image3_Click() Text1.Text = 單擊向左箭頭End S

10、ubPrivate Sub image4_Click() Text1.Text = 單擊向右箭頭End Sub2、在窗體上建立3個文本框和一個命令按鈕。程序運(yùn)行后,單擊命令按鈕,在第一個文本框中顯示由command1_click事件過程設(shè)定的內(nèi)容(例如“Microsoft Visual Basic”),同時在第二、第三個文本框中分別用小寫字母和大寫字母顯示第一個文本框中的內(nèi)容。(提示:用第一個文本框的Change事件過程在第二、三個文本框中顯示指定的內(nèi)容)在窗體上畫3個文本框和1個命令按鈕,把命令按鈕的標(biāo)題設(shè)置為“顯示”,然后編寫如下程序:Private Sub Command1_Click(

11、) Text1.Text = Microsoft Visual BasicEnd SubPrivate Sub Text1_Change() Text2.Text = LCase(Text1.Text) Text3.Text = UCase(Text1.Text)End Sub3、編寫程序,用文本框檢查口令輸入。在窗體上畫1個文本框、1個圖片框和3個命令按鈕,把文本框的PasswordChar屬性設(shè)置為“*”,把3個命令按鈕的標(biāo)題分別設(shè)置為“開始”、“檢查口令”和“結(jié)束”。程序運(yùn)行后,單擊第一個命令按鈕,清除文本框中的信息,并把光標(biāo)移到文本框中,接著在文本框中輸入口令,然后單擊第二個命令按鈕,

12、檢查輸入的口令是否正確。如果正確,則在圖片框中顯示一個圖形,否則顯示一個信息框,要求重新輸入,此時將調(diào)用第一個命令按鈕的Click事件過程,再一次在文本框中輸入口令,直到輸入正確的口令為止。如果單擊“結(jié)束”按鈕,則結(jié)束程序。Private Sub Command1_Click() Text1.Text = Text1.SetFocusEnd SubPrivate Sub Command2_Click() If Text1.Text = Then Picture1 = LoadPicture(c:vb98graphicsmetafilearrows3darrow4.wmf) MsgBox 口令正

13、確,繼續(xù)執(zhí)行, , Else MsgBox 口令不對,請重新輸入, , Command1_Click 調(diào)用事件過程Command1_click End IfEnd SubPrivate Sub Command3_Click() EndEnd Sub4、用圖形編輯軟件(如Windows下的“畫圖”)畫一個簡單的圖形,然后把它裝入圖片框。解答:略5、編寫程序,演示列表框控件的基本操作。在窗體上建立兩個列表框,兩個命令按鈕。程序運(yùn)行后,在第一個列表框中選擇所需要的項(xiàng)目,單擊“添加”按鈕,可把所選擇的項(xiàng)目移到第二個列表框中。如果單擊“刪除”按鈕,則執(zhí)行相反的操作。在第二個列表框中,允許同時選擇多個項(xiàng)目

14、。要求在每個列表框的下面用標(biāo)簽控件顯示各自的Style和Sorted屬性。解答:在窗體上建立兩個列表框,兩個命令按鈕,其Name屬性分別為List1,List2,cmdAdd,cmdDel。其中,List1采用默認(rèn)配置,List2的Sorted屬性設(shè)置為True,Style屬性設(shè)置為復(fù)選框形式。再建立四個標(biāo)簽,Caption屬性分別為Style=Standard、Sorted=False、Style=Checkbox、Sorted=true。編寫如下代碼:Private Sub cmdAdd_Click()If List1.ListIndex = 0 Then List2.AddItem Li

15、st1.Text List1.RemoveItem List1.ListIndexEnd IfEnd SubPrivate Sub cmdDel_Click()Dim I As IntegerIf List2. SelCount = 1 Then List1.AddItem List2.Text List2.RemoveItem List2.ListIndexElseIf List2.SelCount 1 Then For I = List2.ListCount-1 To 0 Step- 1 If List2.Selected(I) Then List1.AddItem List2.List(

16、I) List2.RemoveItem I End If NextEnd IfEnd SubPrivate Sub Form_Load()List1.AddItem 中國List1.AddItem 日本List1.AddItem 馬來西亞List1.AddItem 美國List1.AddItem 德國List1.AddItem 法國List1.AddItem 英國End Sub 程序運(yùn)行后,單擊“添加”按鈕,將把List1中的所選項(xiàng)移到List2中,然后刪除List1中所選項(xiàng)目。單擊“刪除”按鈕,將檢查SelCount屬性。如果選擇了一個項(xiàng)目,則將這個項(xiàng)目移回List1中,如果選擇了多個項(xiàng)目,

17、則由后向前掃描List2,將每個選擇的項(xiàng)目移回到List1中。6、編寫程序,用計時器按秒計時。在窗體上畫一個計時器控件和一個標(biāo)簽,程序運(yùn)行后,在標(biāo)簽內(nèi)顯示經(jīng)過的秒數(shù),并響鈴。解答:在窗體上畫1個計時器控件和1個標(biāo)簽,其Name屬性分別為Timer1和Label1,并把計時器的Interval屬性設(shè)置為1 000,然后編寫如下事件過程:Private Sub Form_Load() Label1.FontSize = 16End SubPrivate Sub Timer1_Timer() Static c As Integer c = c + 1 Label1.Caption = Str$(c)

18、 BeepEnd Sub程序運(yùn)行后,將在標(biāo)簽內(nèi)顯示經(jīng)過的秒數(shù),并響鈴。7、在窗體上畫一個文本框和兩個命令按鈕,并把兩個命令按鈕的標(biāo)題分別設(shè)置為“隱藏文本框”和“顯示文本框”。當(dāng)單擊第一個命令按鈕時,文本框消失;而當(dāng)單擊第二個命令按鈕時,文本框重新出現(xiàn),并在文本框中顯示“VB程序設(shè)計”(字體大小為16)。運(yùn)行該程序。Private Sub Command1_Click()Text1.Visible = FalseEnd Sub Private Sub Command2_Click()Text1.FontSize = 16Text1.Visible = TrueText1.Text = VB 程序

19、設(shè)計End Sub7、編寫程序,計算對兩個數(shù)進(jìn)行加、減、乘、除所得的各、差、積、商。在窗體上畫3個標(biāo)簽和3個文本框,然后建立一個包含4個命令按鈕的控件數(shù)組。Private Sub Form_Load()Label1.Caption = 運(yùn)算數(shù)1Label2.Caption = 運(yùn)算數(shù)2Label3.Caption = =Label3.Alignment = 2Command1(0).Caption = +Command1(1).Caption = -Command1(2).Caption = *Command1(3).Caption = /Text1.Text = Text2.Text = T

20、ext3.Text = End SubPrivate Sub Command1_Click(index As Integer) Select Case index Case 0 Text3.Text = Str(Val(Text1.Text) + Val(Text2.Text) Case 1 Text3.Text = Str(Val(Text1.Text) - Val(Text2.Text) Case 2 Text3.Text = Str(Val(Text1.Text) * Val(Text2.Text) Case 3 If Val(Text2.Text) = 0 Then MsgBox 除數(shù)

21、不能為0, , 錯誤 Exit Sub Else Text3.Text = Str(Val(Text1.Text) / Val(Text2.Text) End If End SelectEnd Sub8、使用滾動條來改變窗體的顏色。三個滾動條的Max:255 Min:0Private Sub HScroll1_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll2_Change() Form1.BackColor = RGB(HScroll

22、1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll3_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End Sub練習(xí)三 Visual Basic控制結(jié)構(gòu)方法二:Private Sub Form_Click() Dim Sum As Integer i = 1方法二:Private Sub Form_Click() Dim Sum As Integer i = 1 While i = 100 Sum =

23、Sum + i i = i + 1 Wend Print SumEnd Sub方法一:Private Sub Form_Click() Dim Sum As Integer For i = 1 To 100 Sum = Sum + i Next i Print SumEnd Sub2、我國現(xiàn)有人口為12億,設(shè)年增長率為1%,編寫程序,計算多少年后增加到20億。Private Sub Form_Click()Dim p As DoubleDim r As SingleDim n As Integerp = r = 0.01While p p = p + p * r n = n + 1Wendp

24、= Int(p)Print n; 年后我國人口達(dá)到:; p; 億End Sub3、給定三角形的3條邊長,計算三角形的面積。編寫程序,首先判斷給出的3條邊能否構(gòu)成三角形,如可以構(gòu)成,則計算并輸出該三角形的面積,否則要求重新輸入。當(dāng)輸入-1時結(jié)束程序。Private Sub Form_Click()Dim a As Single,b As Single,c As Single,s As single,t As singleDo a = InputBox(請輸入A邊的邊長) b = InputBox(請輸入B邊的邊長) c = InputBox(請輸入C邊的邊長) If a = -1 Or b =

25、-1 Or c = -1 Then End If a + b = c Or b + c = a Or c + a = b Then MsgBox (所輸入的值不能構(gòu)成三角形,重新輸入) Else Exit Do End IfLoops = (a + b + c) / 2t = Sqr(s * (s - a) * (s - b) * (s - c)Print 三角形面積為:, tEnd Sub4、稅務(wù)部門征收所得稅,規(guī)定如下:(1)收入在200元以內(nèi),免征;(2)收入在200400元,超過200元的部分納稅3%;(3)收入在400元的部分,納稅4%;(4)當(dāng)收入在5000元或超過時,將4%稅金改

26、為5%。編程序?qū)崿F(xiàn)上述操作。Private Sub Form_Click()Dim r As Singler = InputBox(請輸入你的收入)If r 200 And r 400 And r = 5000 Then tax = (r - 400) * 0.05End IfPrint 收入; r; 應(yīng)納稅:, taxEnd Sub5、假定有以下每周工作安排:星期一、三:講計算機(jī)課星期二、四:講程序設(shè)計課星期五:進(jìn)修英語星期六:政治學(xué)習(xí)星期日:休息試編寫一個程序,對上述工作日程進(jìn)行檢索。程序運(yùn)行后,要求輸入一周里的某一天,程序?qū)⑤敵鲞@一天的工作安排。在輸入時用06分別代表星期日到星期六,如果

27、輸入06之外的數(shù),則程序結(jié)束運(yùn)行。Private Sub Form_Click() Do Work = InputBox$(請輸入一周里的某一天:) Select Case Work Case 1, 3 Print 星期一、三:講計算機(jī)課 Case 2, 4 Print 星期二、四:講程序設(shè)計課 Case 5 Print 星期五:進(jìn)修英語 Case 6 Print 星期六:學(xué)習(xí)政治 Case 0 Print 星期日:休息 Case Else Print 輸入錯誤,退出 Exit Do End Select Loop EndEnd Sub6、編寫程序,打印如下所示的“數(shù)字金字塔”。11 2 11

28、 2 3 2 11 2 3 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1Private Sub Form_Click()For i = 1 To 9For For j = 1 To 30 - 3 * iPrint 1個空格 Print ; 3個空格 Next j For k = 1 To i Print k; Next k For k = i - 1 To 1 Step -1 Print k; Next k PrintNext iEnd Sub7、勾股定理中3個數(shù)的關(guān)系是:a2+b2=c2。編寫程序,輸出30以內(nèi)滿足上述關(guān)系的整數(shù)組合,例如3、4、5就是一個

29、整數(shù)組合。Private Sub Form_Click()Print a, b, c, a*a, b*b, c*cPrintFor a = 1 To 30 For b = 1 To 30 For c = 1 To 30 If a * a + b * b = c * c Then Print a, b, c, a * a, b * b, c * c End If Next c Next bNext aEnd SubPrivate Sub Form_Click()Dim mPrivate Sub Form_Click()Dim m As Integer, n As Integerm = Input

30、Box(請輸入M的值)m1 = mn = InputBox(請輸入N的值)n1 = nr = m Mod nWhile r 0 m = n n = r r = m Mod nWendPrint m1; 和; n1; 的最大公因子是:; nEnd Sub求M和N的最大公因子。Private Sub Form_Click()Dim m As Integer, n As Integerm = InputBox(請輸入M的值)m1 = mn = InputBox(請輸入N的值)n1 = nWhile n 0 r = m Mod n m = n n = rWendPrint m1;和; n1;的最大公因

31、子是:; mEnd Sub該程序通過輾轉(zhuǎn)相除法求兩個正整數(shù)的最大公因子。9、如果一個數(shù)的因子之和等于這個數(shù)本身,就稱這樣的數(shù)為“完全數(shù)”。例如,整數(shù)28的因子為1、2、4、7、14,其和1+2+4+7+14=28,因此28是一個完全數(shù)。試編寫一個程序,從鍵盤上輸出正整數(shù)N和M(N 1 Then Print k0; k1; If n 2 Then Print k2; If n 3 Then Print k3; If n 4 Then Print k4; If n 5 Then Print k5; If n 6 Then Print k6 If n 7 Then Print k7; If n 8

32、Then Print k8; If n 9 Then Print k9; Print End IfNext jEnd Sub10、編寫程序,打印如下的乘積表(將每行的數(shù)字分別與每列的數(shù)字相乘,并將乘積填入相應(yīng)位置)。*369121415161718Private Sub Form_Click()Print *; Tab(9); 3, Tab(18); 6; Tab(27); 9; Tab(36); 12PrintFor i = 14 To 18 Print i; For j = 3 To 12 Step 3 Print Tab(3 * j); j * i; Next j PrintNext i

33、End Sub11、從鍵盤上輸入一個學(xué)生的學(xué)號和考試成績,然后輸出該學(xué)生的學(xué)號和成績,并根據(jù)成績按下面的規(guī)定輸出對該學(xué)生的評語。成績 80100 6079 5059 4049 039評語 Very good Good Fair Poor FailPrivate Sub Form_Click()n = InputBox(請輸入學(xué)號)s = InputBox(請輸入分?jǐn)?shù))If s = 80 Then x = 學(xué)號: + n + ,分?jǐn)?shù): + s + ,very good MsgBox (x)ElseIf s = 60 And s = 50 And s = 40 And s = 0 And s 0.

34、00001 e = e + t i = i + 1 n = n * i t = 1 / n Loop Print 計算了 ; i; 項(xiàng)的和是 ; eEnd Sub15、有一根長度為321米的鋼材料,要將它截取成兩種規(guī)格的短料,規(guī)格a、b的長度分別為17米和27米,每種至少1段,分隔成a、b各多少段后,剩余的殘料r是多少?Private Sub Form_click()Dim a%, b%, r!, ia%, ib%, t!r = 321For b = 1 To (321 - 17) 27 For a = 1 To (321 - b * 27) 17 t = 321 - b * 27 - a *

35、 17 If t = 0 And t =3)是否為素數(shù)。方法一:Private Sub Form_Click()Dim n As Integern = InputBox(請輸入一個正整數(shù)(=3)k = 0For i = 2 To Sqr(n)If n Mod i = 0 Then k = 1Next iIf k = 0 ThenPrint n; 是一個素數(shù)ElsePrint n; 不是素數(shù)End IfEnd Sub方法二:Private Sub Form_Click() Dim n As Integer n = InputBox(請輸入一個正整數(shù)(=3) k = Int(Sqr(n) i =

36、2 swit = 0 While i = k And swit = 0 If n Mod i = 0 Then swit = 1 Else i = i + 1 End If Wend If swit = 0 Then Print n; 是一個素數(shù) Else Print n; 不是素數(shù) End IfEnd Sub18、編寫程序,輸出100-300之間的所有素數(shù)。方法一:Private Sub Form_Click() For n = 101 To 300 Step 2 k = 0 For i = 2 To Sqr(n) If n Mod i = 0 Then k = 1 Next i If k

37、= 0 Then d = d + 1 If d Mod 5 = 0 Then Print n; ; Print Else Print n; ; End If End If Next nEnd Sub方法二:Private Sub Form_Click() For n = 101 To 300 Step 2 k = Int(Sqr(n) i = 2 swit = 0 While i y Then w = x: x = y: y = w 將x,y中的小數(shù)存放于x中 If x z Then w = x: x = z: z = w x中存放x,z中小數(shù),x為最小數(shù) If y z Then w = y:

38、 y = z: z = w y中存放y,z中的小數(shù) Print x, y, z 在窗體上按從小到大的順序輸出x,y,z的值End Sub21、將學(xué)生成績的百分制轉(zhuǎn)換成A、B、C、D、E等級制。Private Sub Form_Click() score = InputBox(please input score 的值) If score 90 Then grade = A ElseIf score = 80 Then grade = B ElseIf score = 70 Then grade = C ElseIf score = 60 Then grade = D Else grade =

39、E End If Print 你的等級是: & grade 在窗體上打印出grade的值End Sub22、將上題改用Select Case語句實(shí)現(xiàn)。Private Sub Form_Click() score = InputBox(please input score 的值) Select Case score Case Is = 90 Grade = A Case 80 To 89 Grade = B Case 70 To 79 Grade = C Case 60 To 69 Grade = D Case Else Grade = E End Select Print 你的等級是: & G

40、rade 在窗體上打印出grade的值End Sub22、按正序和反序輸出26個大寫英文字母。分析:用整型變量i表示循環(huán)變量,大寫英文字母與i之間對應(yīng)關(guān)系可用Chr 函數(shù)轉(zhuǎn)換,字母“A”的ASCII序號為65。正序和反序輸出可分別用For語句的步長為(遞增)和步長為(遞減)來實(shí)現(xiàn)。Private Sub Form_Click() Dim i As Integer For i = 1 To 26 正序輸出26個大寫英文字母 Print Chr(64 + i); A的ASCII序號為65 Next i Print 換行 For i = 26 To 1 Step -1 反序輸出26個大寫英文字母 P

41、rint Chr(64 + i); Next iEnd Sub23、編程計算累乘積超過1000的最小i值(P=1*2*3.*i)方法一:Private Sub Form_click()P = 1: i = 1Do While P 1000Print iEnd Sub24、編程打印以下字母三角形: a a b a b c a b c d . a b c . k l m分析:字母三角形共13行,每行數(shù)據(jù)值按字母順序輸出。Private Sub Form_Click()For i = 1 To 13 輸出13行 Print Tab(30 - 2 * i); 定位每行輸出的位置 For j = 1 T

42、o i 每行輸出的個數(shù) Print Chr$(96 + j); ; 三個空 Next j PrintNext iEnd Sub25、判斷輸入的是大寫字母、小寫字母、數(shù)字還是其它符號。方法一:Private Sub Form_Click() Char = InputBox(輸入一個字符, 測試) If Char = 0 And Char = A And Char = a And Char = 0 If x amax Then amax = x End If If x amin Then amin = x End If x = InputBox(請輸入分?jǐn)?shù)) Loop Print 最高分?jǐn)?shù)是:;

43、amax, 最低分?jǐn)?shù)是:; aminEnd Sub27、設(shè)計一個程序,從鍵盤上輸入學(xué)生的分?jǐn)?shù),程序可以計算并輸出及格(大于或等于60分)、不及格人數(shù)及總平均分?jǐn)?shù)。分析:在窗體上畫3個標(biāo)簽,3個文本框和3個命令按鈕。其屬性設(shè)置如下表:控件名稱(Name)標(biāo)題(caption)文本(text)上標(biāo)簽中標(biāo)簽下標(biāo)簽上文本框中文本框下文本框左命令按鈕中命令按鈕右命令按鈕Label1Label2Label3Text1Text2Text3Command1Command2Command3及格人數(shù)不及格人數(shù)平均分?jǐn)?shù)無無無輸入并計算顯示結(jié)果退出無無無空白空白空白無無無在窗體層聲明如下變量:Dim n As Sin

44、gle,n1 As SingleDim n2 As Single,score As SingleDim total As Single編寫如下3個事件過程:Private Sub command1_click() msg$ = 請輸入分?jǐn)?shù)(-1結(jié)束) msgtitle$ = 輸入數(shù)據(jù)start: score = InputBox(msg$, msgtitle$) If score 100 Then GoTo finish Else total = total + score n = n + 1 If score 60 Then n1 = n1 + 1 Else n2 = n2 + 1 End

45、If End If GoTo startfinish:End SubPrivate Sub Command2_Click() Text1.Text = Str$(n2) Text2.Text = Str$(n1) Text3.Text = Str$(total / n)End SubPrivate Sub Command3_Click()n = 0n1 = 0n2 = 0total = 0EndEnd Sub假定輸入以下數(shù)據(jù):50 55 60 65 70 75 80 85 90 95 100 1 則程序的執(zhí)行結(jié)果如下圖所示。28、編寫程序,輸出“水仙花”數(shù)“水仙花”數(shù)是一個三位數(shù),其各位的立方

46、和等于該數(shù)。例如:153=13+53+33因此153是一個“水仙花”。分析:設(shè)三位數(shù)N的百位數(shù)、十位數(shù)、個位數(shù)分別為a,b,c,則有a=n100b=(n10)mod 10c=n mod 10程序如下:Private Sub Form_Click() Dim n As Integer, g As Integer Dim a As Integer, b As Integer, c As Integer For n = 100 To 999 a = n 100 b = (n 10) Mod 10 c = n Mod 10 d = a 3 + b 3 + c 3 If n = d Then g = g

47、 + 1 Print d End If Next n Print 共有; g; 個水仙花數(shù)End Sub29、搬磚問題。36塊磚,36人搬,男搬4,女搬3,兩個小孩抬一磚,要求一次全搬完,問男、女、小孩各需若干?分析:男人的可能取值范圍為08,女人的可能取值范圍為011,小孩的可能取值范圍為036。采用窮舉法,首先考慮men分別取08的值時,找符合題意的women、childs,然后考慮當(dāng)women取011的值時,找符合題意的childs。當(dāng)men和women已知后,childs=36-women-men如果該childs滿足條件:4*men+3*women+childs/2=36 則找到了一

48、組解。程序如下:Private Sub Form_Click() Dim men As Integer, women As Integer Dim childs As Integer men = 0 While men 9 men = men + 1 women = 0 While women 12 women = women + 1 childs = 36 - women - men If 4 * men + 3 * women + childs / 2 = 36 Then Print 男人需要; men; 個 Print 女人需要; women; 個 Print 小孩需要; childs;

49、 個 End If Wend WendEnd Sub30、編程計算1-2+3-4+5-6+.+n的值,其中n由文本框輸入 。方法1:(在窗體上先畫一文本框text1)Private Sub Command1_Click()方法2方法2:Private Sub Command1_Click()Dim n%, i%, s%n = CInt(Text1)s = 0For i = 1 To n s = s + (-1) (i - 1) * iNext iText2 = sEnd Subn = CInt(Text1)s = 0For i = 1 To nIf i Mod 2 0 Thens = s +

50、iElses = s - iEnd IfNext iText2 = sEnd Sub31、編程計算20-21+22-23+.+210的值.Private Sub Form_Click()Dim s%, i%s = 0For i = 0 To 10 s = s + (-1) i * 2 iNext iPrint s=; sEnd Sub32、編程計算11+22+33+44+.+99+1010的值。Private Sub Form_Click()Dim s!, i%s = 0For i = 1 To 10 s = s + i iNext iPrint s=; sEnd Sub33、編程計算1/1*

51、2+1/2*3+1/3*4+1/4*5+.+1/n*(n+1)的值,其中n=20。Private Sub Form_Click()Dim s!, i%, p!s = 0For i = 1 To 20 s = s + 1 / i * (i + 1) 不能寫成1/(i+1)*iNext iPrint s=; sEnd Sub34、e=1+1/1!+1/2!+1/3!+.+1/n!,計算e的值(精確到10 -6 )。Private Sub Form_Click()Dim e#, i%, p&e = 1: i = 1: p = 1Do Until 1 / p 10 -6 不斷循環(huán),直到單項(xiàng)1/n!小于

52、106e = e + 1 / pi = i + 1p = p * i p為i的階乘i!LoopPrint e=; eEnd Sub35、編程找出三個三位數(shù),它們分別為某個二位數(shù)的平方,且每個三位數(shù)的每位數(shù)字各不相同。Private Sub Form_Click()Dim i%, j%, k%, k1%, k2%, k3%, n1%, n2%平方為三位數(shù)的二位數(shù)有10-31n1 = 0For i = 10 To 31j = i 2 J為一個等于一個二位數(shù)平方的三位數(shù)k1 = j 100 三位數(shù)的百位數(shù)k2 = (j Mod 100) 10 十位數(shù),也可以寫成k2 = j 10 mod 10k3

53、= j Mod 10 個位數(shù)If k1 k2 And k1 k3 And k2 k3 Then Print 找到一個; j; =; i; 2; k1; k2; k3 n1 = n1 + 1If n1 = 3 Then Exit ForEnd IfNext iEnd Sub36、從鍵盤輸入一整數(shù)(個位不為0),倒序輸出。Private Sub Form_click() Dim m As Double, n As Double n = InputBox(請輸入一個整數(shù)) Do While n 0 m = m * 10 + n Mod 10 n = n 10 Loop Print m=; mEnd

54、Sub練習(xí)四 數(shù)組1、從鍵盤上輸入10個整數(shù),并放入一個一維數(shù)組中,然后將其前5個元素與后5個元素對換,即:第1個元素與第10個元素互換,第2個元素與第9個元素互換第5個元素與第6個元素互換。分別輸出數(shù)組原來各元素的值和對換后各元素的值。Option Base 1 Private Sub Form_Click() arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Print 原來數(shù)組: For i = 1 To 10 Print arr(i); Next i Print For i = 1 To 5 For j = 6 To 10 t = arr(i) ar

55、r(i) = arr(j) arr(j) = t Next j Next i Print 對換后數(shù)組: For i = 1 To 10 Print arr(i); Next iEnd Sub2、設(shè)有如下兩組數(shù)據(jù)。(1)2,8,7,6,4,28,70,25(2)79,27,32,41,57,66,78,80編寫一個程序,把上面兩組數(shù)據(jù)分別讀入兩個數(shù)組中,然后把兩個數(shù)組中對應(yīng)下標(biāo)的元素相加,即2+79,8+27,2580,并把相應(yīng)的結(jié)果放入第三個數(shù)組中,最后輸出第三個數(shù)組的值。Option Base 1Private Sub Form_Click() Dim A, B, C(8) As Integ

56、er A = Array(2, 8, 7, 6, 4, 28, 70, 25) B = Array(79, 27, 32, 41, 57, 66, 78, 80) For i = 1 To 8 C(i) = A(i) + B(i) Next i Print 第一個數(shù)組為:; For i = 1 To 8 Print A(i); Next i Print Print 第二個數(shù)組為:; For i = 1 To 8 Print B(i); Next i Print Print 第三個數(shù)組為:; For i = 1 To 8 Print C(i); Next i PrintEnd Sub3、有一個n

57、m的矩陣,編寫程序,找出其中最大的那個元素所在的行和列,并輸出其值及行號和列號。Option Base 1Private Sub Form_Click() Dim Mat() As Integer Dim N, M As Integer N = InputBox(請輸入矩陣的行數(shù)) M = InputBox(請輸入矩陣的列數(shù)) ReDim Mat(N, M) As Integer For i = 1 To N For j = 1 To M Mat(i, j) = InputBox(請輸入數(shù)組第 & Str(i) & 行第 & Str(j) & 列元素值) Next j Next i Print

58、 所建立的矩陣為: For i = 1 To N For j = 1 To M Print Mat(i, j); ; Next j Print Next i Max = Mat(1, 1) For i = 1 To N For j = 1 To M If Max Mat(i, j) Then Max = Mat(i, j) col = j row = i End If Next j Next i Print Print 矩陣最大的元素的值為:; Mat(row, col) Print 它所在的行號為:; row; ,列號為:; colEnd Sub4、編寫程序,把下面的數(shù)據(jù)輸入一個二維數(shù)組中。

59、25367813122688937518223256443658然后執(zhí)行以下操作:輸出矩陣兩個對角線上的數(shù);分別輸出各行和各列的和交換第一行和第三行的位置;交換第二列和第四列的位置;輸出處理后的數(shù)組。Option Base 1Private Sub Form_Click() Dim Mat(4, 4) As Integer Dim N, M As Integer N = 4 M = 4 Rem 輸入矩陣 For i = 1 To N For j = 1 To M Mat(i, j) = InputBox(請輸入數(shù)組第 & Str(i) & 行第 & Str(j) & 列元素值) Next j

60、Next i Rem 輸出原始矩陣 Print Print 初始矩陣為: Print For i = 1 To N For j = 1 To M Print Tab(6 * j); Mat(i, j); Next j Print Next i Rem 輸出矩陣對角線上的數(shù) Print Print 矩陣對角線上的數(shù)為: Print For i = 1 To N For j = 1 To M If i = j Then Print Tab(6 * j); Mat(i, j); End If Next j Next i Rem 輸出各行和各列的和 Print Print 各行的和依次為: Print

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論