VB复习题(带答案)(1)讲解 联系客服

发布时间 : 星期日 文章VB复习题(带答案)(1)讲解更新完毕开始阅读ce18a88681eb6294dd88d0d233d4b14e85243e31

For i = 1 To n

'**********SPACE********** sum =【?】 sum+mul(i) Next i Print sum End Sub

Private Function mul(ByVal x As Integer) Dim s As Integer, i As Integer s = 1

'**********SPACE********** For i = 1 To 【?】 x s = s * i Next i

'**********SPACE********** 【?】 mul=s End Function

14、功能:从键盘上输入一串字符,以\结束,统计输入字符中的大、小写字母和数字的个数。Private Sub Form_Click() Dim ch$, n1%, n2%, n3% n1 = 0 n2 = 0 n3 = 0

ch = InputBox(\请输入一个字符\'**********SPACE********** Do While 【?】 ch<>? Select Case ch Case \ n1 = n1 + 1

'**********SPACE********** Case 【?】 \ n2 = n2 + 1 Case \ n3 = n3 + 1 End Select

ch = InputBox(\请输入一个字符\

'**********SPACE********** loop 【?】

Print n1, n2, n3 End Sub

15、功能:下面的程序实现:从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍

保持有序。

Private Sub Form_Click()

Dim a(10) As Integer, x As Integer For i = 1 To 8 a(i) = 2 * i - 1 Print a(i); Next i Print

x = InputBox(\请输入要插入的整数\'**********SPACE********** 【?】 a(0)=x i = 8

Do While a(i) > x

'**********SPACE********** 【?】 a(i+1)=a(i) i = i - 1 Loop

'**********SPACE********** If i > 0 Then 【?】 a(i+1)=x For i = 1 To 9 Print a(i); Next i End Sub

16、功能:过程suixian可以判断某一个数字是否是水仙花数,利用该过程找出三位数中所有水仙花数。所谓\水仙花数\是指一个3位数,其各位数字立方和等于该数本身。 Private Sub Form_Click() Dim i As Integer For i = 100 To 999

'**********SPACE********** 【?】 suixian i Next i End Sub

Public Sub suixian(x As Integer) Dim i%, j%, k%

'**********SPACE********** i =【?】 x\\100 j = (x - i * 100) \\ 10 k = x - i * 100 - j * 10

'**********SPACE**********

5

If 【?】 Then Print x i^3+j^3+k^3=x End Sub

17、功能:输入一个数,若大于0,则显示\;若小于0,则显示 \;若等于\则显示\零\。 Private Sub Command1_Click( ) x = Val(Text1.Text) Select Case x

'**********SPACE********** 【?】 Case Is>0 Label1.Caption = \ Case Is < 0

'**********SPACE**********

【?】 Label1.Caption = \'**********SPACE********** 【?】 case 0 Label1.Caption = \零\ End Select End Sub

18、功能:以下程序段用于计算数组中各元素的乘积。 Private Sub Command1_Click() '**********SPACE**********

Dim a(1 To 5) 【?】, b%(2 To 10), i%, t1#, t2# As Iinteger For i = 1 To 5 a(i) = i Next i

For i = 2 To 10 b(i) = i Next i

t1 = tim(a()) t2 = tim(b())

Print \End Sub

'**********SPACE**********

Function tim(【?】 As Integer) a() Dim t#, i% t = 1

For i = LBound(a) To UBound(a) t = t * a(i) Next i tim = t End Function

19、功能:本程序功能为,单击窗体,Form1的输出结果为 ' A1=10 B1=20 ' A2=20 B2=10 '**********SPACE**********

Public Sub Swap1【?】 x As Integer, ByVal y As Integer) (ByVal Dim t As Integer t = x x = y y = t End Sub

Public Sub Swap2(x As Integer, y As Integer) Dim t As Integer t = x x = y y = t End Sub

Private Sub Form_Click()

Dim a As Integer, b As Integer a = 10 b = 20

'**********SPACE********** 【?】 a, b

Form1.Print \ a = 10 b = 20

'**********SPACE********** 【?】 a, b

Form1.Print \End Sub

20、功能:求表达式s=x/2!+x^3/4!+...+x^(2n-1)/(2n)!的值,并在窗体上输出。Private Sub Form_Click() Dim x As Single Dim n As Integer Dim sum As Single

x = Val(InputBox(\ n = Val(InputBox(\ '**********SPACE********** sum = 【?】 6

Print \End Sub

Function s(n As Integer, x As Single) As Single Dim i As Single, t As Long s = 0

For i = 1 To n t = 1

For j = 1 To 2 * i

'**********SPACE********** 【?】 Next j

'**********SPACE********** s = s + x ^ (【?】) / t Next i End Function

21、功能:写出程序运行后,单击窗体,Form1上显示的内容sum 函数的功能为累加求和 ' isum = 1 ' isum = 3 ' isum = 6 ' isum = 10 ' isum = 15

Private Sub Form_Click()

Dim I As Integer, isum As Integer '**********SPACE********** For I = 1 To 【?】 Swap1 isum = sum(I)

'**********SPACE**********

Form1.Print \=\【?】 Swap2 Next I End Sub

Private Function sum(n As Integer) Static j As Integer

'**********SPACE********** 【?】 j + n sum = j End Function

22、功能:程序输出结果为:n=3 x=42 y=9 Private Sub Command1_Click()

Dim n, x, y As Integer

'**********SPACE********** n = 0: x =【?】: y = 0 1 Do While x < 20

'**********SPACE********** n = n 【?】 +1 y = x + y

x = x * (x + 1)

'**********SPACE********** 【?】 Loop Form1.Print \ Form1.Print \ Form1.Print \End Sub

23、功能:由输入对话框输入n(n必须为大于零且小于30的自然数), ' 计算下列表达式的值,并在标签框Label1上显示。 ' sum=1/2+1/6+ ... +1/(k*(k+1)) (k<=n) Private Sub Form_Click()

Dim n As Integer, sum As Double, k As Integer

n = Val(InputBox(\请输入自然数n(n>0 且n<30)\ '**********SPACE**********

Do While n <= 0 【?】 n >= 30 or n = Val(InputBox(\请重输入\ Loop sum = 0 k = 0 Do

'**********SPACE********** k =【?】 K+1 sum = sum + 1 / (k * (k + 1)) '**********SPACE********** Loop Until 【?】 K>=n Label1.Caption = \ End Sub

24、功能: 用户单击命令按钮后,程序将文本框Text1中的文本反转显示,同时在文本框Text2中显示文本框Text1中字符串的个数。 Private Sub Command1_Click() If Text1.Text = \ Exit Sub

Text2.Text = 0 7

Else

'**********SPACE**********

Text1.Text =【?】 (Text1.Text) MyFun End If End Sub

Private Sub Form_Load() Text1.Text = \ Text2.Text = 0 End Sub

Private Function MyFun(s1 As String) As String Dim Pos As Integer Dim Str1 As String Dim intC As Integer Const Sp As String = \

'**********SPACE********** Pos = Len(【?】) s1 For intC = Pos To 1 Step -1

Str1 = Str1 & Mid(s1, intC, 1) Next intC

'**********SPACE********** MyFun = 【?】 Str1 Text2.Text = Pos End Function

25、功能:下面的事件过程判断文本框Text1中输入的数所在区间,并在文本框Text2中输出判断结果

Private Sub Command1_Click() Dim int1 As Integer

'**********SPACE********** 【?】 = Val(Text1.Text) int1 Select Case int1 Case 0

Text2.Text = \值为0\

'**********SPACE********** Case 【?】 1 to 10

Text2.Text = \值在1和10之间(包括1和10)\ '**********SPACE********** Case Is > 【?】 10 Text2.Text = \值大于10\ 8 Case Else Text2.Text = \值小于0\ End Select End Sub 程序设计题 1、题目:(事件)单击窗体(响应)用输入框输入一自然数,判断是\正数\、\负数或\零\,并根据输入1题 n = InputBox(\输入一个自然数\If n > 0 Then result = \正数\ElseIf n < 0 Then result = \负数\ElseIf n = 0 Then result = \零\End If MsgBox \输入的数据\为:\ 5题 Dim i, j, k As Integer For i = 1 To 100 For j = 1 To 50 For k = 1 To 20 If ((i + 2 * j + k * 5) = 100) Then Print (CStr(i)) Print (CStr(j)) Print (CStr(k)) n = n + 1 End If Next 6题 Next Dim i, j, k As Integer Next For i = 1 To 5 的数用消息框 k = 1 显示\正数\、\ For j = 1 To i k = k * j 负数”或\零\。 Next 3题 s = s + k Dim i As Integer Next s = 0 Print (CStr(s)) For i = 1 To 10 s = s + 1 / (i ^ i) Next Print (s) 2题 Dim i As Integer For i = 201 To 300 If ((i Mod 3) = 0) And ((i Mod 7) = 0) Then Print (CStr(i)) sum = sum + i End If Next Print sum 2、题目:(事件)单击窗体。(响应)求200~300之间既能被3整除又能被7整除的数。并求出所有数之和存入变量SUM中 4题 3、题目:单击窗体。(响应)已知Dim i, j, k, m As Integer S=1+1/4+1/9+1/16+1/25+?+1/100,结果输出在窗体s = 0 :i = 2:j = 1 For k = 1 To 10 上。 s = s + i / j 4、题目:(事件)单击窗体。(响应)在窗体上打印数列 m = j 2/1,3/2,5/3,8/5,13/8?的前10项,并求其和,将和保存 Print (CStr(i)) & \在变量s中。 j = i i = i + m Next 5、题目:(事件)双击窗体。(响应)把一元钞票换成一分、二分和五分的硬币每种至少有一枚),求出其所有