'------------------------------------------------ Private Sub Form_Click()
Dim a As Single, b As Single, c As Single Dim s As Single, t As Single start: a = InputBox(\输入1边长:\ b = InputBox(\输入2边长:\ c = InputBox(\输入3边长:\
'**********FOUND********** If a + b < c Or b + c < a Then
MsgBox (\不能构成三角形,请重新输入个边\ GoTo start End If
'**********FOUND********** t = (a + b) / 2
'**********FOUND********** s = Sqr((t - a) * (t - b) * (t - c)) Print \该三角形的面积:\End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 If a + b < c Or b + c < a Or a + c < b Then 2 t = (a + b + c) / 2 或 t = (a + b +★ c★) / 2
3 s = Sqr(t * (t - a) * (t - b) * (t - c)) 或 s = Sqr(★t * ★(t - a)★ * ★(t - b) ★* ★(t - c)★)
29『Visual Basic——程序改错』 '【程序改错】490
'------------------------------------------------
'题目:输入一个字符串,将所有的小写字母都转换为大写字母。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------
Private Sub Form_Click()
Dim s1 As String, s2 As String, i As Integer, t As String s1 = InputBox(\输入字符串,#号结束\ i = 1
'**********FOUND********** s1 = Mid(s1, i, 1) While t <> \
'**********FOUND**********
If t >= \ s2 = s2 + t
i = i + 1
t = Mid(s1, i, 1) Wend
'**********FOUND********** Print \新字符串为:\End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 t = Mid(s1, i, 1)
2 If t >= \ 3 Print \新字符串为:\
30『Visual Basic——程序改错』 '【程序改错】491
'------------------------------------------------
'题目:判断给定的年月日是该年中的第几天。
'------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------
Private Sub Form_Click()
Dim year As Integer, month As Integer, day As Integer Dim days As Integer, i As Integer '**********FOUND********** Dim a(0 To 11) As Integer days = 0
For i = 1 To 12
a(i) = InputBox(\输入\月份的天数,2月暂输入为28天:\ Next i
year = InputBox(\输入年:\ month = InputBox(\输入月:\ day = InputBox(\输入日:\ For i = 1 To month
'**********FOUND********** days = days + a(i) Next i
'**********FOUND********** days = day
If year Mod 4 = 0 And year Mod 100 <> 0 Or year Mod 400 = 0 And month >= 3 Then days = days + 1
Print \该日期是该年中的第\天\End Sub
--------------------------------------------------
『图片数目』:0张 『文件数目』:2张 『答 案』:
1 Dim a(1 To 12) As Integer 2 days = days + a(i - 1) 3 days = days + day
31『Visual Basic——程序改错』 '【程序改错】492
'------------------------------------------------
'题目:输入两个正整数m和n,求其最大公约数。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Form_Click()
Dim m As Integer, n As Integer, r As Integer m = InputBox(\输入m的值:\ n = InputBox(\输入n的值:\ Do While n <> 0
'**********FOUND********** r = m / n
m = n
'**********FOUND********** n = m Loop
'**********FOUND********** Print \两数的最大公因子为:\End
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 r = m Mod n 2 n = r
3 Print \两数的最大公因子为:\
32『Visual Basic——程序改错』 '【程序改错】493
'------------------------------------------------
'题目:输入两个正整数m和n,求其最大公约数。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Form_Click()
Dim m As Integer, n As Integer, r As Integer m = InputBox(\输入m的值:\ n = InputBox(\输入n的值:\ Do While n <> 0
'**********FOUND********** r = m / n m = n
'**********FOUND********** n = m Loop
'**********FOUND********** Print \两数的最大公因子为:\End
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』: 1 r = m Mod n
2 n = r
3 Print \两数的最大公因子为:\
33『Visual Basic——程序改错』 '【程序改错】494
'------------------------------------------------
'题目:有5个人坐在一起,问第5个人多少岁?他说比第4个 ' 人大2岁。问第4个人岁数,他说比第3个人大2岁。 ' 问第3个人,又说比第2个人大2岁。问第2个人,说 ' 比第1个人大2岁。最后问第1个人,他说是10岁。 ' 请问第5个人有多人岁数。
'------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Function Age(ByVal N As Integer) '**********FOUND********** If N = 5 Then Age = 10
Else
'**********FOUND********** Age = Age(N) + 2 End If
End Function
Private Sub Form_Click()
'**********FOUND********** Print Age(1) End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 If N = 1 Then 或 If 1 = N Then 2 Age = Age(N - 1) + 2 3 Print Age(5)
34『Visual Basic——程序改错』
'【程序改错】495
'------------------------------------------------
'题目:移动数组元素,将数组中某个位置的元素移动到指定位置. '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Function fMove(a%(), L1%, L2%)
Dim N As Integer, i As Integer, T As Integer '**********FOUND********** N = LBound(a) If L2 = N + 1 Then
'**********FOUND********** a(N) = a(L1) For i = L1 To N a(i) = a(i + 1) Next i Else
T = a(L1)
a(L1) = a(L2)
'**********FOUND********** a(L1) = T End If End Function
Private Sub Form_Click() Dim a%(1 To 5) Dim i As Integer For i = 1 To 5 a(i) = i Next
fMove a, 1, 5 For i = 1 To 5