Private Sub Command3_Click()
'**********FOUND********** List1.RemoveItem
Text2.Text = CStr(List1.ListCount) End Sub
Private Sub Command4_click() End End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 If sy >= 0 Then 或 If 0 <= sy Then
2 List1.RemoveItem sy 或 List1.RemoveItem List1.ListIndex 3 List1.Clear
12『Visual Basic——程序改错』 '【程序改错】473?
'------------------------------------------------
'题目:下列程序进行-n阶乘运算,当阶乘的值超过-21147483648 ' 溢出报错,并将结果输出为-1。
'------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ '**********FOUND**********
Private Function jc(ByVal n As Integer) As Integer Dim I As Integer Dim result As Long result = 1 I = 1
Do While I <= n
If result < 2114748348 / I Then '**********FOUND********** result = result I = I + 1
Else
lblerr.Caption = \溢出\
'**********FOUND********** jc = -I Exit Function End If Loop
jc = result
End Function
Private Sub Form_Click() MsgBox jc(3) End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 Private Function jc(ByVal n As Integer) As Long 2 result = result * I 或 result = I * result 3 jc = -1
13『Visual Basic——程序改错』 '【程序改错】474
'------------------------------------------------
'题目:程序功能为求解一元二次方程的实根,请修正程序中错误。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Form_Load()
Dim a, b, c, root1, root2, work As Double a = Val(InputBox(\请输入系数a的值\ b = Val(InputBox(\请输入系数b的值\ c = Val(InputBox(\请输入系数c的值\ '**********FOUND********** work = b * 2 - 4 * a * c
If work >= 0 And a <> 0 Then
'**********FOUND********** root1 = (Sqr(work)) / (2 * a)
'**********FOUND**********
root2 = (Sqr(work)) / (2 * a)
Debug.Print \有二个实根\ Else
Debug.Print \无实根!\ End If
End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 work = b ^ 2 - 4 * a * c
2 root1 = (-b + Sqr(work)) / (2 * a) 或 root1 = ( Sqr(work) -b ) / (2 * a)
3 root2 = (-b - Sqr(work)) / (2 * a) 或 root2 = (- Sqr(work) - b) / (2 * a)
14『Visual Basic——程序改错』 '【程序改错】475?
'------------------------------------------------
'题目:本程序求3~100之间的所有素数学(质数)并统计个数; ' 同时将这些素数从小到大依次写入顺序文件E:\\dataout.txt; ' 素数的个数显示在窗体Form1上。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click()
Dim Count As Integer, Flag As Boolean Dim t1 As Integer, t2 As Integer '**********FOUND********** Open \ Count = 0
For t1 = 3 To 100 Flag = True
For t2 = 2 To Int(Sqr(t1))
If t1 Mod t2 = 0 Then Flag = False Next t2
If t2 > Int(Sqr(t1)) Then
'**********FOUND**********
If Flag = False Then Count = Count + 1 '**********FOUND********** Write #1, t2
End If Next t1
Form1.Print \素数个数\ Close #1 End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 Open \或 Open \ 2 If Flag Then Count = Count + 1 或 If Flag Then Count = 1 + Count 3 Write #1, t1 或 Write 1, t1
15『Visual Basic——程序改错』 '【程序改错】476?
'------------------------------------------------
'题目:由输入对话框输入n(设n为大于零且小于30的自然数),
' 计算如图1所示的表达式,并在标签框Label1上显示。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Form_Click()
Dim n As Integer, sum As Double, k As Integer n = Val(InputBox(\请输入自然数n(n>0 且n<30)\ '**********FOUND********** Do While n > 0 Or n < 30 n = Val(InputBox(\请重输入\ Loop sum = 0 k = 0 Do
'**********FOUND********** k = sum + k
sum = sum + 1 / (k * (k + 1)) '**********FOUND********** Loop Until k > n
Label1.Caption = \ End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 Do While n <= 0 Or n >= 30 或 Do While ★n★<=★0★Or★n>=★30 2 k = k + 1 或 k = 1 + k
3 Loop Until k >= n 或 Loop Until n <= k
16『Visual Basic——程序改错』 '【程序改错】477?
'------------------------------------------------
'题目:用输入对话框输入x,根据公式(图1)计算对应的y, ' 并在窗体上输出y的值。
'------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------
Private Sub Command1_Click() Dim x As Single, y As Single x = Val(InputBox(\输入X的值\ If x = 10 Then
y = 0
'**********FOUND********** Else x > 10 Then
'**********FOUND********** y = Str(x) + Sin(x) Else
'**********FOUND********** y = 2 * x ~ 3 + 6 End If Print y
End Sub
-------------------------------------------------- 『图片数目』:0张 『文件数目』:2张 『答 案』:
1 ElseIf x > 10 Then 或 ElseIf 10 < x Then
2 y = Sqr(x) + Sin(x) 或 y =★Sqr(x)★+★Sin(x) 3 y = 2 * x ^ 3 + 6
17 『Visual Basic——程序改错』 '【程序改错】478
'------------------------------------------------
'题目:密码判断程序,如果密码为12345则显示“恭喜,密码正确”, ' 否则显示“很遗憾,密码错误”,要求文本框中只允许输入数字。 '------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim strPws As String strPws = Trim(Text1.Text) '**********FOUND********** If Len(strPws) <> 0 Then Exit Sub If strPws = \
'**********FOUND********** MsgBox \恭喜,密码正确\验证 Else
MsgBox \很遗憾,密码错误\验证\ End If End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) '**********FOUND**********
If Not (KeyAscii >= 49 And KeyAscii <= 57) Then KeyAscii = 0
End If End Sub
--------------------------------------------------