VB程序改错

  • 格式:doc
  • 大小:43.00 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序改错题

第一题:

题目:以下程序段用于输出100-300的所有素数

------------------------------------------------

Option Explicit

Private Sub Form_Click()

Dim n As Integer, k As Integer, i As Integer, swit As Integer For n = 101 To 300 Step 2

k = Int(Sqr(n))

i = 2

'**********ERROR**********

swit = 1

'**********ERROR**********

While swit = 0

If n Mod i = 0 Then

swit = 1

Else

'**********ERROR**********

i = i - 1

End If

Wend

If swit = 0 Then

Print n;

End If

Next n

End Sub

答案

【改错1】

【参考答案】

swit=0

【改错2】

【参考答案】

While i<=k And swit =0

While k>=i And swit=0

While swit=0 And i<=k

While swit=0 And k>=i

【改错3】

【参考答案】

i=i+1

第二题:

'题目:下面程序可输出如下图形:

' *

' ***

' *****

' *******

' *********

------------------------------------------------

Option Explicit

Private Sub Form_Click()

Dim m As Integer, n As Integer, s As String, i As Integer, j As Integer n = 4

m = 1

s = "*"

For i = 5 To 1 Step -1

'**********ERROR**********

Print Spc(n)

For j = 1 To 2 * m - 1

Print s;

Next j

Print

'**********ERROR**********

n = n + 1

'**********ERROR**********

m = m - 1

Next i

End Sub

【改错1】

【参考答案】

Print Spc(n);

Print Spc(i);

Spc(n);

Spc(i)

【改错2】

【参考答案】

n=n-1

n=-1+n

【改错3】

【参考答案】

m=m+1

第三题:

'题目:以下程序段用于计算5的N次方。

'------------------------------------------------ Option Explicit

Private Sub Form_Click()

Dim n As Integer, k As Integer, s As Long n = InputBox(" Input n ")

'**********ERROR**********

k = 0

'**********ERROR**********

s = 0

Do While k <= n

s = s * 5

k = k + 1

'**********ERROR**********

Next

Print "5的"; "n次方是"; s

End Sub

答案

【改错1】

【参考答案】

k=1

【改错2】

【参考答案】

s=1

【改错3】

【参考答案】

loop

第四题:

'题目:以下程序段用于打印如图1所示的九九乘法表:

'------------------------------------------------ Option Explicit

Private Sub Form_Click()

Dim i As Integer, j As Integer, k As Integer

Print Tab(30); "9*9 table"

Print: Print

Print " * ";

For i = 1 To 9

'**********ERROR**********

Print Tab(i * 6); i

Next i

Print

For j = 1 To 9

Print j; " ";

'**********ERROR**********

For k = 1 To 9

'**********ERROR**********

Print Tab(j * 6); j * k; " ";

Next k

Print

Next j

End Sub

答案

【改错1】

【参考答案】

Print Tab(i*6);i;

【改错2】

【参考答案】

For k=1 to j

【改错3】

【参考答案】

Print Tab(k*6);j*k;" ";

第五题:

'题目:程序功能:求1+2+3……,直到其和超出3000为' 止,并输出结果。

'------------------------------------------------ Option Explicit

Private Sub Form_Click()

Cls

Dim i As Integer

Dim s As Single

i =0