计算机二级上机试题

〖第1题〗『程序填空』(1分)(题号:507)

' 【程序填空】

' 题目: 本程序实现功能:将顺序文本文件 “MYFILE.TXT ” 的

' 内容一个字符一个字符地读入文本框t 俄xtTest 中

请在【】处填入正确的内容

Private Sub Form_Click()

Dim InputData As String * 1

txtTest.Text = ""

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

Open App.Path & "\MYFILE.TXT" For 【input 】 As #1

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

Do While 【not 】 EOF(1)

Input #1, InputData

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

txtTest.Text = txtTest.Text + 【inputdata 】

Loop

Close #1

End Sub

答案:

1). Input

2). Not

3). InputData

〖第2题〗『程序填空』(1分)(题号:50)

' 【程序填空】

'' 题目:从键盘上输入一串字符,以"?" 结束,统计输入字符中的

' 大、小写字母和数字的个数。

Private Sub Form_Click()

Dim ch$, n1%, n2%, n3%

n1 = 0

n2 = 0

n3 = 0

ch = InputBox("请输入一个字符")

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

While 【ch 】

Select Case ch

Case "a" To "z"

n1 = n1 + 1

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

Case 【A to Z】

n2 = n2 + 1

Case "0" To "9"

n3 = n3 + 1

End Select

ch = InputBox("请输入一个字符")

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

【wend 】

Print n1, n2, n3

End Sub

答案:

1). ch ★★ "?"

2). "A" To "Z"

3). Wend

〖第3题〗『程序填空』(1分)(题号:62)

' 【程序填空】

'' 题目:输入任何一个英文字母x, 若x 的值 为"a","c","d-f" ,则

' 显示x 的大写字母;若x 的值为"m","o","p-z", 则显示x 的

' 小写字母;若为其它的值, 则显示xa (如输入的X 的值是

' g,则显示ga )。

Private Sub Command1_Click()

x = Text1.Text

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

【select case x】

Case "a", "c", "d" To "f"

Label1.Caption = UCase(x)

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

Case 【”m ”, ”o ”, ” p”to “z ”】

Label1.Caption = LCase(x)

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

【case else】

Label1.Caption = Trim(x) + "a"

End Select

End Sub

答案:

1). Select Case x

2). "m", "o", "p" To "z"

3). Case Else

〖第4题〗『程序填空』(1分)(题号:65)

' 【程序填空】

' 题目:根据输入的学习成绩, 分别显示优秀(90分以上), 良好(75

' 分以上), 及格(60分以上), 不及格几个等级。

Private Sub Command1_Click()

x = Val(Text1.Text)

If x >= 90 Then

Print "优秀"

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

【elself x>=75 then】

Print "良好"

ElseIf x >= 60 Then

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

【print “及格”】

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

【else 】

Print "不及格"

End If

End Sub

答案:

1). ElseIf x >= 75 Then 或 ElseIf 75

2). print "及格"

3). Else

〖第5题〗『程序填空』(1分)(题号:60)

' 【程序填空

' 题目:输入任何一个英文字母x,

' 若x 的值 为"a","c","d-f" ,则显示x 的大写字母;

' 若x 的值为"m","o","p-z", 则显示x 的小写字母;

' 若为其它的值, 则显示xa (如输入的X 的值是g ,则显示ga )。

Private Sub Command1_Click()

x = Text1.Text

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

【select case 】

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

Case 【“a ”,“c ”,“d ” to“f ”】

Label1.Caption = UCase(x)

Case "m", "o", "p" To "z"

Label1.Caption = LCase(x)

Case Else

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

【label1.caption=trim(x )+“a ”】

Ejd Select

End Sub

答案:

1). Select Case x 2). "a", "c", "d" To "f"

3). Label1.CapÓion = ★Trim(x) ★+★ "a"

〖第6题〗『程序填空』(1分)(题号:495)

' 【程序偫牺】

' 题目:本程序将利用文本框txtInput 输入的一行字符串中的所有

' 字母加密,加密,加密结果在文本框txtCode 中显示。加密方法如

' 下:将每个字母的序号移动5个位置,即"A"->"F","a ->"f",

'"B"->"G"......"Y"->"D","Z"->"E".程序段如下:

' 请在【】处填兡正确的内容

Private Sub Form_Click()

Dil strInput As String * 70 '输入字符串

Dim Code AS String * 70 '加密结果

Dim strTemp As String * 1 '当前处理的字符

4 Dim i As Intager

Dim Length As Integer '字符串长度

Dim iAsc As In⁴ege2 '第i 个字Ascii 码

'**********SPACE********(*

【? 】 叆字符串

i = 1

Code = ""

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

【? 】 '去掉字符串右边的空格,求真正的长度 Do While (i

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

【? 】 '取第i 个字符

If (strTemp >= "A" And strTemp

iAsc = Asc(strTemp) + 5

If iAsc > Asc("Z") Then iAsc = iAsc - 26

Code = Left$(Code, i - 1) + Chr$(iAsc)

ElseIf (strTemp >= "a" And strTemp

iAsc = Asc(strTemp) + 5

If iAsc > Asc("z") Then iAsc = iAsc - 26

Code = Left$(Code, i - 1) + Chr$(iAsc)

Else

Code = Left$(Code, i - 1) + strTemp

End If

i = i + 1

Loop

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

【? 】 '显示加密结果

End Sub

答案:

'strInput = txtInput.Text

'Length = Len(RTrim(strInput))

'strTemp = Mid(strInput, i, 1)

'txtCode.Text = Code txtCode = Code

答案:

1). strInput=txtInput 或 strInput=txtInput.Text

2). Length = Len(RTrim(strInput))

3). strTemp = Mid(strInput, i, 1)

4). txtCode.Text = Code 或 txtCode = Code

〖第7题〗『程序填空』(1分)(题号:531)

' 【程序填空】

'' 题目:打印出 100-999 之间的所有水仙花数

' 如果一个数的 百位,十位,个位数的立方和等于这个数本身 ' 则这个数为水仙花数

请在【】处填入正确的内容

Private Sub Command1_Click()

Dim i As Integer, a As Integer, b As Integer, c As Integer '**********SPACE**********

For i = 100 To 【999】

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

a = Int(i / 【? 】)

b = Int((i - 100 * a) / 10)

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

c = i - 100 * a - 【? 】

If a * a * a + b * b * b + c * c * c = i Then

Print i

End If

Next i

End Sub

答案:

1). 999

2). 100

3). 10 * b 或 b * 10

〖第8题〗『程序填空』(1分)(题号:36)

' 【程序填空】

'' 题目:以下程序的功能如(图1) 。

Private Sub Form_Click()

Dim a%, b%, c%, d!

Dim x1, x2

Dim p, q, r

a = InputBox("请输入a 的值")

b = InputBox("请输入b 的值")

c = InputBox("请输入c 的值")

d = b * b - 4 * a * c

p = -b / (2 * a)

If d >= 0 Then

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

If 【? 】 Then

r = Sqr(d) /6(2 * a)

x1 ‽ p + r

6 x2 = p - r

Else

x1 = p

x2 = p

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

【? 】

Print "x1=": x1, "x2="; x2

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

【? 】

q = Sqr(-d) / (2 *6a)

Print "x1="; p; "+"; q; "i", "x2="; p; "-"; q; "i"

End If

End Sub

答案:

1). d > 0 或 0

2). End If

3). Else

〖第9题〗『程序填空』(1分)(题号:47)

' 【程序填空】

' 题目:以下程序段用于实现:输入两个正整数m 和n ,求其最大

' 公因数和最小公倍数。

Private Sub Form_Click()

Dim a%, b%, num1%, num2%, temp

num1 = InputBox("请输入一个正整数")

num2 = InputBox("请输入一个正整数")

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

If 【? 】 Then

temp = num1: num1 = num2: num2 = temp

End If

a = num1

b = num2

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

While 【? 】

temp = a Mod b

a = b

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

【? 】

Wend

Print "最大公因数为:"; a

Print "最小公倍数为:"; num1 * num2 / a

End Sub

答案:

1). num1 num1

2). b ★★ 0

3). b = temp

〖第10题〗『程序填空』(1分)(题号:520)

' 【程序填空】

' 题目:完成程序,使程序输出值为 15

' 请在【】处填入正确的内容

Private Sub Command1_Click()

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

Dim i, j, x,【k 】 As Integer

For i = 1 To 4

x = 4

For j = 1 To 3

x = 3

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

For 【k 】 = 1 To 2

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

x = x + 【6】

Next k

Next j

Next i

Print x

End Sub

答案:

1). k

2). k

3). 6

〖第11题〗『程序填空』(1分)(题号:539)

' 【程序填空】

' 题目: 随机生成10个数存入数组中,并将数组排序后输出

' 请在【】处填入正确的内容

Private Sub Command1_Click()

Dim a(10) As Integer

Dim i, j, t As Integer

For i = 1 To 10

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

a(i) = CInt(10 【*】 Rnd + 1)

Next

For i = 1 To 9

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

For j = 【? 】 To 10

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

If a(i) >【? 】 Then

t = a(i): a(i) = a(j): a(j) = t

End If

Next j

Next i

For i = 1 To 10

Print a(i)

Next

End Sub

答案:

1). *

2). i + 1 或 1 + i

3). a(j)

〖第12题〗『程序填空』(1分)(题号:537)

' 【程序填空】

'' 题目:窗体中有Text1-Text7共7个文本框,单击按钮Command1在 ' Text7中显示前6个文本框中的数值的最大数

请在【】处填入正确的内容

Private Sub Command1_Click()

Dim a, b, c, d, e, f, m As Integer

a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text) d = Val(Text4.Text): e = Val(Text5.Text): f = Val(Text6.Text) Call max(a, b, c, m)

Call max(m, d, e, m)

Call max(m, f, f, m)

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

Text7.Text = 【? 】

End Sub

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

Sub max(x, y, z, 【? 】)

If x > y Then

m = x

Else

m = y

End If

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

If m

m = z

End If

End Sub

答案:

1). m

2). z, m

3). z

〖第13题〗『程序填空』(1分)(题号:56)'【程序填空】

'' 题目:代码功能:输入数字1-7, 显示其对应的星期几(例:输入

' 1,显示星期日, 如果输入其它内容,一律显示" 输入错误" Private Sub Command1_Click()

dim x as integer

dim y as string

x=val(text1.text)

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

【? 】

case 1 case 2 case 3 case 4 case 5 case 6 y="星期四" y= "星期三" y="星期二" y="星期一" y="今天是星期日"

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

case 7 y= "星期六" 【? 】

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

【? 】

y = "输入错误"

end select

Text2.Text = y

End Sub

答案:

1). select case x

2). y="星期五"

3). Case Else

〖第14题〗『程序填空』(1分)(题号:64)

' 【程序填空】

' 题目:输入任何一个英文字母x, 若x 的值 为"a","c","d-f" ,则 ' 显示x 的大写字母;若x 的值为"m","o","p-z", 则显示x 的 ' 小写字母;若为其它的值, 则显示xa (如输入的X 的值是 ' g,则显示ga )。

Private Sub Command1_Click()

x = Text1.Text

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

【? 】

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

Case 【? 】

Label1.Caption = UCase(x)

Case "m", "o", "p" To "z"

Label1.Caption = LCase(x)

Case Else

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

【? 】

End Select

End Sub

答案:

1). Select Case x

2). "a", "c", "d" To "f"

3). Label1.Caption = Trim(x) + "a"

〖第15题〗『程序填空』(1分)(题号:494)

' 【程序填空】

' 题目:本程序用辗转相除法求自然数m 、n 的最大分约数和最小公倍数,求最大公约数的算法如下: '(1) 对于己知两数m 、n ,使得m>n;

'(2) m除以n 得余数r;

'(3) 若r=0,则n 为求得的最大公约数,算法结束;否则执行(4)

'(4) m

' 原两数相乘除以最大公约数即为最小公倍数,程序如下:

' 请在【】处填入正确的内容

Private Sub Form_Click()

Dim m%, n%, mn%

n = Val(InputBox("n="))

m = Val(InputBox("n="))

If n

MsgBox "数据出错"

Exit Sub

End If

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

【? 】

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

If 【? 】 Then

t = m

m = n

n = t

End If

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

Do While 【? 】

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

【? 】

m = n

n = r

Loop

Form1.Print "最大公约数="; m

Form1.Print "最小公倍数="; mn / m

End Sub

答案:

1). mn=n*m 或 mn=m*n

2). n>m 或 m

3). n 0 或 0 n

4). r = m Mod n

〖第16题〗『程序填空』(1分)(题号:53)

' 【程序填空】

题目:下面的程序实现:从键盘输入一个数字,将其插入一个

' 有序数组中,插入后的数组仍保持有序。

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**********

【? 】

i = 8

Do While a(i) > x

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

【? 】

i = i - 1

Loop

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

If i > 0 Then 【? 】

For i = 1 To 9

Print a(i);

Next i

End Sub

答案:

1). a(0) = x

2). a(★i ★+★ 1★) = a(i)

3). a(★i ★ +★ 1★) = x

〖第17题〗『程序填空』(1分)(题号:518)

' 【程序填空】

'' 题目:将字符串S1反向输出

' 请在【】处填入正确的内容

Private Sub Command1_Click()

Dim s1 As String, s2 As String

s1 = "abcdef"

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

Call Invert(【? 】, s2)

Print s2

End Sub

Private Sub Invert(ByVal xstr As String, ystr As String)

Dim tempstr As String

Dim i As Integer

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

i = 【? 】

Do While i >= 1

tempstr = tempstr + Mid(xstr, i, 1)

i = i - 1

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

【? 】

ystr = tempstr

End Sub

答案:

1). s1

2). Len(xstr)

3). Loop

〖第18题〗『程序填空』(1分)(题号:38)

【程序填空】

题目:下面的程序段,用于实现在一个nXm 的矩阵中,找出值最

' 大的元素所在的行和列,并输出其值及行号和列号。

Private Sub Form_Click()

Dim mat() As Integer

Dim n, m As Integer

n = Val(InputBox("请输入矩阵的行数"))

m = Val(InputBox("请输入矩阵的列数"))

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

【? 】

For i = 1 To n

For j = 1 To m

mat(i, j) = InputBox("请输入数组元素值")

mat(i, j) = Val(mat(i, j))

Next j

Next i

Print "所建立的矩阵为"

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

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

If 【? 】 Then

Max = mat(i, j)

col = j

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

【? 】

End If

Next j

Next i

Print

Print "矩阵最大的元素的值为:"; mat(row, col)

Print "它所在的行号为:"; row; "列号为:"; col

End Sub

答案:

1). ReDim mat(n, m) As Integer

2). Max Max

3). row = I〖第26题〗『程序填空』(1分)(题号:529)

19【程序填空】题目:窗体上建立了两个文本框Text1(输入字符串) 及

' Text2(转换结果) ,一个命令按钮Command1("清除") 。

' 录入Text1内容时将,将录入内容大写字母转为小写,

' 小写转为大写

请在【】处填入正确的内容

Private Sub Command1_Click()

Text1.Text = ""

Text2.Text = ""

Text1.SetFocus

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim s As String * 1

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

s = 【? 】(KeyAscii)

Select Case s

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

Case "A" 【? 】 "Z"

s = LCase(s)

Case "a" To "z"

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

s = 【? 】

Case Else

s = "*"

End Select

Text2.Text = Text2.Text + s

End Sub

答案:

1). Chr

2). To

3). UCase(s)

〖第20题〗『程序填空』(1分)(题号:508)

【程序填空】

题目:用Circle 方法在图片框中正中画出许多不同颜色的同心圆,

' 且不能画出图片框?

' 请在【】处填入正确的内容

Private Sub Picture1_Click()

Dim CX, CY, Radius, Limit

ScaleMode = 3

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

CX = 【? 】

CY = Picture1.ScaleHeight / 2

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

If CX > CY Then Limit = CY Else 【? 】

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

For Radius = 0 To 【? 】

Picture1.Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255) Next Radius

End Sub

答案:

1). Picture1.ScaleWidth / 2

2). Limit = CX 3). Limit

〖第21题〗『程序填空』(1分)(题号:52)

【程序填空】

' 题目:下面的程序段用于打印出以下图形

'

' *

' ***

' *****

' *******

' *****

' ***

' *

'-------------------------------------------------------

Private Sub Form_Click()

Dim i%, j%, k%

For i = 0 To 3

For j = 0 To 2 - i

Print " ";

Next j

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

For k = 0 To 【? 】

Print "*";

Next k

Print

Next i

For i = 0 To 2

For j = 0 To i

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

【? 】

Next j

For k = 0 To 4 - 2 * i

Print "*";

Next k

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

【? 】

Next i

End Sub

答案:

1). 2★ *★ i★+★1

2). Print " ";

3). Print

〖第22题〗『程序填空』(1分)(题号:57)

【程序填空】

' 题目:代码功能:求 1!+2!+„„10! 的值。

Private Sub Form_Click()

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

【? 】

s = 1

For I = 2 To 10

t = t * I

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

【? 】

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

【? 】

Print s

End Sub

答案:

1). t = 1

2). s =★ s★ +★ t

3). Next I 或 Next

〖第23题〗『程序填空』(1分)(题号:515)

' 【程序填空】

' 题目:由输入对话框输入n (n 必须为大于零且小于30的自然数),

' 计算下列表达式的值,并在标签框Label1上显示。

' sum=1/2+1/6+ ... +1/(k*(k=1)) (k

' 请在【】处填入正确的内容

'Private Sub Form_Click()

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

n = Val(InputBox("n=", "请输入自然数n(n>0 且n

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

Do While n = 30

n = Val(InputBox("n=", "请重输入"))

Loop

sum = 0

k = 0

Do

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

k =【? 】

sum = sum + 1 / (k * (k + 1))

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

Loop Until k >= 【? 】

Label1.Caption = "Sum=" + Str(sum)

End Sub

答案:

1). Or

2). k + 1 或 1 + k

3). >= n

24、' 【程序改错】

'------------------------------------------------

' 题目:以下程序段用于计算货物运费。设货物运费每吨

' 单价p 元与运输距离s 公里之间有如下关系:

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim w!, s!

Dim p As Currency, t As Currency

w = InputBox("请输入货物重量")

s = InputBox("请输入托运距离")

Select Case s

Case Is

p = 30

'**********FOUND**********

Case Is =100

p = 27.5

Case Is

p = 25

Case Is

p = 32.5

'**********FOUND**********

Case Other

p = 20

'**********FOUND**********

End If

t = p * w * s

Print "总运费:"; t; "元"

End Sub

答案: 1). Case Is

〖第25题〗『程序改错』(1分)(题号: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 "有二个实根" + Str$(root1) + "," + Str$(root2)

Else

Debug.Print "无实根!"

End If

End Sub

答案: 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) 〖第26题〗『程序改错』(1分)(题号:119)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:在下面的程序段中过程pd 可以判断任意三个数能

' 否构成三角形的三边,利用该过程的判定结果,

' 对能构成三角形的计算其面积,构不成的显示"

' 不能构成三角形"

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Option Explicit

Private Sub Form_Click()

'**********FOUND**********

Dim x%, y%, z%, s%, b As Boolean,h as Single

x = InputBox("请输入三角形的边长")

y = InputBox("请输入三角形的边长")

z = InputBox("请输入三角形的边长")

b = pd(x, y, z)

h = (x + y + z) / 2

'**********FOUND**********

If not b Then

s = Sqr(h * (h - x) * (h - y) * (h - z))

Print "三角形面积是"; s

Else

Print "不能构成三角形"

End If

End Sub

'**********FOUND**********

Public Function pd( ) As Boolean

If x > 0 And y > 0 And z > 0 And x + y > 0 And x + z > y And y + z > x Then

pd = True

Else

pd = False

End If

End Function

答案:

1). Dim ★x%★, ★y%★, ★ z%★, ★s! ★, ★b ★ As Boolean★, ★h As Single

2). If b Then

3). Public Function pd(x%, y%, z%) As Boolean

〖第27题〗『程序改错』(1分)(题号:472)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:本程序功能用于将学生学过的单词在列表框中显示出来。现要完成:

' (1)单击" 增加单词" 按钮,将文本框Text1.Text 中的单词添加到列表框

' 中并显示列表框中的单词数;

' (2)单击" 删除单词" 按钮,删除列表框中被选中的项并显示列表框中的单词数;

' (3)单击" 全部清除" 按钮,删除列表框的全部选择项并显示列表框中的单词数;

' (4)单击" 退出" 按钮,结束程序。

' 请修正程序中存在的错误。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Load()

Label1.Caption = "请输入单词"

Label2.Caption = "单词数"

Command1.Caption = "增加单词"

Command2.Caption = "删除单词"

Command3.Caption = "全部清除"

Command4.Caption = "退出"

List1.AddItem "apple"

List1.AddItem "chinese"

List1.AddItem "child"

List1.AddItem "double"

List1.AddItem "park"

List1.AddItem "top"

Text1.Text = ""

Text2.Text = CStr(Me.List1.ListCount)

End Sub

Private Sub Command1_click()

List1.AddItem Text1.Text

Text2.Text = Str(List1.ListCount)

Text1 = ""

End Sub

Private Sub Command2_click()

Dim sy As String

sy = List1.ListIndex

'**********FOUND**********

If sy > 0 Then

'**********FOUND**********

List1.RemoveItem

Text2.Text = Str(List1.ListCount)

End If

End Sub

Private Sub Command3_Click()

'**********FOUND**********

List1.RemoveItem

Text2.Text = CStr(List1.ListCount)

End Sub

Private Sub Command4_click()

End

End Sub

答案:

1). If sy >= 0 Then 或 If 0

2). List1.RemoveItem sy 或 List1.RemoveItem List1.ListIndex

3). List1.Clear

〖第28题〗『程序改错』(1分)(题号:123)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:下面的程序段的功能是:读入八进制数,将其转

' 换成把十进制数

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim oct_num As String

dim length as integer,s as integer,n as integer,i as integer,d as string,j as string oct_num = InputBox("请输入一八进制数")

'**********FOUND**********

length = Length(oct_num)

s = 0

n = 0

'**********FOUND**********

For i = length To 1

d = Mid(oct_num, i, 1)

s = s + d * 8 ^ n

n = n + 1

'**********FOUND**********

Next j

Print "十进制数是:"; s

End Sub

答案: 1). length = Len(oct_num) 2). For i = length To 1 Step -1

3). Next I

〖第29题〗『程序改错』(1分)(题号:458)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:已知自然对数的底数e 的级数表示如下:

' e=1+1/1!+1/2!+1/3!+......+1/n!+.....

' 本程序利用函数过程fact()求e ,其中绝对值小于

' 1E-8的项被忽略。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Function fact(m As Integer) As Single

Dim x As Single, i As Integer

x = 1

For i = 1 To m

'**********FOUND**********

x = i

Next i

fact = x

End Function

Private Sub Form_Click()

Dim e As Single, item As Single

Dim n As Integer

e = 1

'**********FOUND**********

n = -1

Do

n = n + 1

item = 1 / fact(n)

e = e + item

'**********FOUND**********

Loop While item >= 0.01

Form1.Print "e="; e

End Sub

答案:1). x = x * i 或 x = i * x 2). n = 0

3). Loop While item >= 0.00000001 或 Loop While 0.00000001

〖第30题〗『程序改错』(1分)(题号:477)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:用输入对话框输入x, 根据公式(图1)计算对应的y,

' 并在窗体上输出y 的值。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(InputBox("Please input x :", "输入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

答案:1). ElseIf x > 10 Then 或 ElseIf 10

2). y = Sqr(x) + Sin(x) 或 y =★Sqr(x)★+★Sin(x)

3). y = 2 * x ^ 3 + 6

〖第31题〗『程序改错』(1分)(题号:457)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:利用一个计时器、一个标签框和二个命令按钮制作

' 一个动态秒表,单击" 开始" 命令按钮,秒表开始计时,

' 单击" 结束" 命令按钮, 秒表结束计时,并在标签框显

' 示运行时间,如" 运行了0小时2分10秒" 。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Dim x As Long

Dim h As Integer, m As Integer, s As Integer

Private Sub Form_Load()

Form1.Caption = "动态秒表(小时:分:秒)"

Command1.Caption = "开始[&S]"

Command2.Caption = "结束[&E]"

Label1.Alignment = 2

Label1.Caption = "0:0:0"

Timer1.Interval = 1000

Timer1.Enabled = False

x = 0

End Sub

Private Sub Command1_Click()

'**********FOUND**********

Timer1.Enabled = False

End Sub

Private Sub Command2_Click()

'**********FOUND**********

Timer1.Enabled = True

x = 0

Label1.Caption = "运行了" + Str(h) + "小时" + Str(m) + "分" + Str(s) + "秒"

End Sub

Private Sub Timer1_Timer()

x = x + 1

h = x \ 3600

m = (x Mod 3600) \ 60

'**********FOUND**********

s = (x Mod 3600) \ 60

Label1.Caption = Str(h) + ":" + Str(m) + ":" + Str(s)

End Sub

答案: 1). Timer1.Enabled = True

2). Timer1.Enabled = False 3). s = (x Mod 3600) Mod 60

〖第32题〗『程序改错』(1分)(题号:450)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:统计一顺序文件test.txt 中的空格、字母、数字和其它字符个数。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Command1_Click()

Dim s As String, C As String

Dim I As Integer, L As Integer, spac As Integer, character As Integer, digit As Integer, other As Integer

'**********FOUND**********

Open App.Path & "\text.txt" For Output As #1

'**********FOUND**********

Do Until EOF(0)

Line Input #1, s

L = Len(s)

For I = 1 To L

C = Mid(s, I, 1)

If C >= "a" And C = "A" And C

character = character + 1

ElseIf C = " " Then

spac = spac + 1

'**********FOUND**********

ElseIf C >= "0" And C

digit = digit + 1

Else

other = other + 1

End If

Next I

Loop

Close #1

Print "字符个数为:"; character; "数字个数为:"; digit

Print "空格个数为:"; spac; "其它个数为:"; other

End Sub

'

答案: 1). Open App.Path & "\text.txt" For Input As ★1 或 Open "text.txt" For Input As ★1

2). Do Until EOF(1) 3). ElseIf★C >= "0"★And ★C

〖第33题〗『程序改错』(1分)(题号:135)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:程序功能:求1+2+3„„,直到其和超出3000为

' 止,并输入结果。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Cls

Dim i As Integer

Dim s As Single

i = 1

'**********FOUND**********

s =1

Do

'**********FOUND**********

i = i + 2

s = s + I

'**********FOUND**********

Loop s > 3000

Print "从1 到:"; i; "的和是"; s

End Sub

答案: 1). s =0 2). i = ★i ★ +★ 1

3). Loop until s > 3000 或 Loop until 3000

〖第34题〗『程序改错』(1分)(题号: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(n>0 且n

'**********FOUND**********

Do While n > 0 Or n

n = Val(InputBox("n=", "请重输入"))

Loop

sum = 0

k = 0

Do

'**********FOUND**********

k = sum + k

sum = sum + 1 / (k * (k + 1))

'**********FOUND**********

Loop Until k > n

Label1.Caption = "Sum=" + Str(sum)

End Sub

答案:

1). Do While n = 30 或 Do While ★n ★=★30 2). k = k + 1 或 k = 1 + k

3). Loop Until k >= n 或 Loop Until n

〖第35题〗『程序改错』(1分)(题号:468)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:编写一程序,实现对文本框里的文字查找并清除某

' 一字符串,直到文本框中不再存在它。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Function StringClear(sSource As String, sSearch As String) As String

Dim j As Integer, res As String

'**********FOUND**********

res = sSearch

'**********FOUND**********

Do While Mid(res, sSearch)

j = InStr(res, sSearch)

'**********FOUND**********

res = Left(res, j) & Mid(res, j + 2)

Loop

StringClear = res

End Function

Private Sub Command1_Click()

Dim Searchstr As String

If Text1.Text "" Then

Searchstr = InputBox("Please input the string seach") Text1.Text = StringClear(Text1.Text, Searchstr)

End If

End Sub

答案: 1). res = sSource 2). Do While InStr(res, sSearch)

3). res = Left(res, j - 1) & Mid(res, j + 2)

〖第36题〗『程序改错』(1分)(题号:117)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:下面的程序段用于实现以下功能:建立一顺序文

' 件,存放10名同学的学号和三门功课成绩,显示

' 该文件内所有记录, 并同时显示其总分和平均分

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim no%, c1%, c2%, c3%,i as Integer

'**********FOUND**********

Open "c:\2.txt" For Input As #1

For i = 1 To 10

no = InputBox("请输入学号")

c1 = InputBox("请输入数学成绩")

c2 = InputBox("请输入语文成绩")

c3 = InputBox("请输入外语")

Write #1, no, c1, c2, c2

Next i

Close #1

'**********FOUND**********

Open "c:\2.txt" For Output As #1

For i = 1 To 10

'**********FOUND**********

Print #1, no, c1, c2, c3

Print no, c1, c2, c3, c1 + c2 + c3, (c1 + c2 + c3) / 3

Next i

Close #1

End Sub

答案: 1). Open "c:\2.txt" For Output As #1

2). Open "c:\2.txt" For Input As #1 3). Input #1, n0, c1, c2, c3 〖第37题〗『程序改错』(1分)(题号:484)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:使用顺序文件读写方式编写一个简单的记事本应用程序,

' 基本逻辑是:假设在考生目录中有一个名为exam.txt 的文

' 本文件。当点击" 打开" 按钮(Command1)时,程序将exam.Txt

' 文件中的内容显示在文本框(Text1)中,当点击" 新建" 按钮

' (Command2)时,清空Text1中的内容;用户可以在Text1中进行 ' 编辑操作,当点击" 保存" 按钮(Command3)时,将Text1中的内容

' 保存在exam.txt 文件中。当点击" 退出" 按钮(Command4)时关闭本窗体。 '------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Command1_Click()

Dim A As String

Text1 = ""

Open "exam.txt" For Input As #1

Do While Not EOF(1)

'**********FOUND**********

Input #0, A

Text1 = Text1 + A

Loop

'**********FOUND**********

Close #0

End Sub

Private Sub Command2_Click()

Text1 = ""

End Sub

Private Sub Command3_Click()

Open "exam.Txt" For Output As #1

'**********FOUND**********

Input #1, Text1

Close #1

End Sub

Private Sub Command4_Click()

Unload Me

End Sub

答案: 1). Input #1, A 或 Input 1, A

2). Close #1 或 Close 1 3).Write #1, Text1 或 Write 1, Text1 〖第38题〗『程序改错』(1分)(题号:497)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:编程求一个十进制整数n 的各位数字之和,设n 为小于或等于5位的数。 '------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim N As Integer, Sum As Integer, S1 As String, S2 As String

Dim i As Integer, Ch As String

Sum = 0

N = InputBox("输入整数n")

S1 = Str(N)

'**********FOUND**********

S1 = LTrim(S1)

For i = 1 To Len(S1)

'**********FOUND**********

Ch = Mid(N, i, 1)

'**********FOUND**********

Sum = Val(Ch)

Next i

Print "该整数的各位数之和是:"; Sum

End Sub

答案: 1). S1 = Trim(S1) 2). Ch = Mid(S1, i, 1)

3). Sum = Sum + Val(Ch) 或 Sum =★Sum ★+★Val(Ch)

〖第1题〗『程序填空』(1分)(题号:507)

' 【程序填空】

' 题目: 本程序实现功能:将顺序文本文件 “MYFILE.TXT ” 的

' 内容一个字符一个字符地读入文本框t 俄xtTest 中

请在【】处填入正确的内容

Private Sub Form_Click()

Dim InputData As String * 1

txtTest.Text = ""

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

Open App.Path & "\MYFILE.TXT" For 【input 】 As #1

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

Do While 【not 】 EOF(1)

Input #1, InputData

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

txtTest.Text = txtTest.Text + 【inputdata 】

Loop

Close #1

End Sub

答案:

1). Input

2). Not

3). InputData

〖第2题〗『程序填空』(1分)(题号:50)

' 【程序填空】

'' 题目:从键盘上输入一串字符,以"?" 结束,统计输入字符中的

' 大、小写字母和数字的个数。

Private Sub Form_Click()

Dim ch$, n1%, n2%, n3%

n1 = 0

n2 = 0

n3 = 0

ch = InputBox("请输入一个字符")

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

While 【ch 】

Select Case ch

Case "a" To "z"

n1 = n1 + 1

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

Case 【A to Z】

n2 = n2 + 1

Case "0" To "9"

n3 = n3 + 1

End Select

ch = InputBox("请输入一个字符")

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

【wend 】

Print n1, n2, n3

End Sub

答案:

1). ch ★★ "?"

2). "A" To "Z"

3). Wend

〖第3题〗『程序填空』(1分)(题号:62)

' 【程序填空】

'' 题目:输入任何一个英文字母x, 若x 的值 为"a","c","d-f" ,则

' 显示x 的大写字母;若x 的值为"m","o","p-z", 则显示x 的

' 小写字母;若为其它的值, 则显示xa (如输入的X 的值是

' g,则显示ga )。

Private Sub Command1_Click()

x = Text1.Text

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

【select case x】

Case "a", "c", "d" To "f"

Label1.Caption = UCase(x)

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

Case 【”m ”, ”o ”, ” p”to “z ”】

Label1.Caption = LCase(x)

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

【case else】

Label1.Caption = Trim(x) + "a"

End Select

End Sub

答案:

1). Select Case x

2). "m", "o", "p" To "z"

3). Case Else

〖第4题〗『程序填空』(1分)(题号:65)

' 【程序填空】

' 题目:根据输入的学习成绩, 分别显示优秀(90分以上), 良好(75

' 分以上), 及格(60分以上), 不及格几个等级。

Private Sub Command1_Click()

x = Val(Text1.Text)

If x >= 90 Then

Print "优秀"

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

【elself x>=75 then】

Print "良好"

ElseIf x >= 60 Then

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

【print “及格”】

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

【else 】

Print "不及格"

End If

End Sub

答案:

1). ElseIf x >= 75 Then 或 ElseIf 75

2). print "及格"

3). Else

〖第5题〗『程序填空』(1分)(题号:60)

' 【程序填空

' 题目:输入任何一个英文字母x,

' 若x 的值 为"a","c","d-f" ,则显示x 的大写字母;

' 若x 的值为"m","o","p-z", 则显示x 的小写字母;

' 若为其它的值, 则显示xa (如输入的X 的值是g ,则显示ga )。

Private Sub Command1_Click()

x = Text1.Text

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

【select case 】

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

Case 【“a ”,“c ”,“d ” to“f ”】

Label1.Caption = UCase(x)

Case "m", "o", "p" To "z"

Label1.Caption = LCase(x)

Case Else

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

【label1.caption=trim(x )+“a ”】

Ejd Select

End Sub

答案:

1). Select Case x 2). "a", "c", "d" To "f"

3). Label1.CapÓion = ★Trim(x) ★+★ "a"

〖第6题〗『程序填空』(1分)(题号:495)

' 【程序偫牺】

' 题目:本程序将利用文本框txtInput 输入的一行字符串中的所有

' 字母加密,加密,加密结果在文本框txtCode 中显示。加密方法如

' 下:将每个字母的序号移动5个位置,即"A"->"F","a ->"f",

'"B"->"G"......"Y"->"D","Z"->"E".程序段如下:

' 请在【】处填兡正确的内容

Private Sub Form_Click()

Dil strInput As String * 70 '输入字符串

Dim Code AS String * 70 '加密结果

Dim strTemp As String * 1 '当前处理的字符

4 Dim i As Intager

Dim Length As Integer '字符串长度

Dim iAsc As In⁴ege2 '第i 个字Ascii 码

'**********SPACE********(*

【? 】 叆字符串

i = 1

Code = ""

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

【? 】 '去掉字符串右边的空格,求真正的长度 Do While (i

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

【? 】 '取第i 个字符

If (strTemp >= "A" And strTemp

iAsc = Asc(strTemp) + 5

If iAsc > Asc("Z") Then iAsc = iAsc - 26

Code = Left$(Code, i - 1) + Chr$(iAsc)

ElseIf (strTemp >= "a" And strTemp

iAsc = Asc(strTemp) + 5

If iAsc > Asc("z") Then iAsc = iAsc - 26

Code = Left$(Code, i - 1) + Chr$(iAsc)

Else

Code = Left$(Code, i - 1) + strTemp

End If

i = i + 1

Loop

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

【? 】 '显示加密结果

End Sub

答案:

'strInput = txtInput.Text

'Length = Len(RTrim(strInput))

'strTemp = Mid(strInput, i, 1)

'txtCode.Text = Code txtCode = Code

答案:

1). strInput=txtInput 或 strInput=txtInput.Text

2). Length = Len(RTrim(strInput))

3). strTemp = Mid(strInput, i, 1)

4). txtCode.Text = Code 或 txtCode = Code

〖第7题〗『程序填空』(1分)(题号:531)

' 【程序填空】

'' 题目:打印出 100-999 之间的所有水仙花数

' 如果一个数的 百位,十位,个位数的立方和等于这个数本身 ' 则这个数为水仙花数

请在【】处填入正确的内容

Private Sub Command1_Click()

Dim i As Integer, a As Integer, b As Integer, c As Integer '**********SPACE**********

For i = 100 To 【999】

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

a = Int(i / 【? 】)

b = Int((i - 100 * a) / 10)

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

c = i - 100 * a - 【? 】

If a * a * a + b * b * b + c * c * c = i Then

Print i

End If

Next i

End Sub

答案:

1). 999

2). 100

3). 10 * b 或 b * 10

〖第8题〗『程序填空』(1分)(题号:36)

' 【程序填空】

'' 题目:以下程序的功能如(图1) 。

Private Sub Form_Click()

Dim a%, b%, c%, d!

Dim x1, x2

Dim p, q, r

a = InputBox("请输入a 的值")

b = InputBox("请输入b 的值")

c = InputBox("请输入c 的值")

d = b * b - 4 * a * c

p = -b / (2 * a)

If d >= 0 Then

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

If 【? 】 Then

r = Sqr(d) /6(2 * a)

x1 ‽ p + r

6 x2 = p - r

Else

x1 = p

x2 = p

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

【? 】

Print "x1=": x1, "x2="; x2

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

【? 】

q = Sqr(-d) / (2 *6a)

Print "x1="; p; "+"; q; "i", "x2="; p; "-"; q; "i"

End If

End Sub

答案:

1). d > 0 或 0

2). End If

3). Else

〖第9题〗『程序填空』(1分)(题号:47)

' 【程序填空】

' 题目:以下程序段用于实现:输入两个正整数m 和n ,求其最大

' 公因数和最小公倍数。

Private Sub Form_Click()

Dim a%, b%, num1%, num2%, temp

num1 = InputBox("请输入一个正整数")

num2 = InputBox("请输入一个正整数")

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

If 【? 】 Then

temp = num1: num1 = num2: num2 = temp

End If

a = num1

b = num2

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

While 【? 】

temp = a Mod b

a = b

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

【? 】

Wend

Print "最大公因数为:"; a

Print "最小公倍数为:"; num1 * num2 / a

End Sub

答案:

1). num1 num1

2). b ★★ 0

3). b = temp

〖第10题〗『程序填空』(1分)(题号:520)

' 【程序填空】

' 题目:完成程序,使程序输出值为 15

' 请在【】处填入正确的内容

Private Sub Command1_Click()

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

Dim i, j, x,【k 】 As Integer

For i = 1 To 4

x = 4

For j = 1 To 3

x = 3

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

For 【k 】 = 1 To 2

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

x = x + 【6】

Next k

Next j

Next i

Print x

End Sub

答案:

1). k

2). k

3). 6

〖第11题〗『程序填空』(1分)(题号:539)

' 【程序填空】

' 题目: 随机生成10个数存入数组中,并将数组排序后输出

' 请在【】处填入正确的内容

Private Sub Command1_Click()

Dim a(10) As Integer

Dim i, j, t As Integer

For i = 1 To 10

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

a(i) = CInt(10 【*】 Rnd + 1)

Next

For i = 1 To 9

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

For j = 【? 】 To 10

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

If a(i) >【? 】 Then

t = a(i): a(i) = a(j): a(j) = t

End If

Next j

Next i

For i = 1 To 10

Print a(i)

Next

End Sub

答案:

1). *

2). i + 1 或 1 + i

3). a(j)

〖第12题〗『程序填空』(1分)(题号:537)

' 【程序填空】

'' 题目:窗体中有Text1-Text7共7个文本框,单击按钮Command1在 ' Text7中显示前6个文本框中的数值的最大数

请在【】处填入正确的内容

Private Sub Command1_Click()

Dim a, b, c, d, e, f, m As Integer

a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text) d = Val(Text4.Text): e = Val(Text5.Text): f = Val(Text6.Text) Call max(a, b, c, m)

Call max(m, d, e, m)

Call max(m, f, f, m)

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

Text7.Text = 【? 】

End Sub

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

Sub max(x, y, z, 【? 】)

If x > y Then

m = x

Else

m = y

End If

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

If m

m = z

End If

End Sub

答案:

1). m

2). z, m

3). z

〖第13题〗『程序填空』(1分)(题号:56)'【程序填空】

'' 题目:代码功能:输入数字1-7, 显示其对应的星期几(例:输入

' 1,显示星期日, 如果输入其它内容,一律显示" 输入错误" Private Sub Command1_Click()

dim x as integer

dim y as string

x=val(text1.text)

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

【? 】

case 1 case 2 case 3 case 4 case 5 case 6 y="星期四" y= "星期三" y="星期二" y="星期一" y="今天是星期日"

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

case 7 y= "星期六" 【? 】

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

【? 】

y = "输入错误"

end select

Text2.Text = y

End Sub

答案:

1). select case x

2). y="星期五"

3). Case Else

〖第14题〗『程序填空』(1分)(题号:64)

' 【程序填空】

' 题目:输入任何一个英文字母x, 若x 的值 为"a","c","d-f" ,则 ' 显示x 的大写字母;若x 的值为"m","o","p-z", 则显示x 的 ' 小写字母;若为其它的值, 则显示xa (如输入的X 的值是 ' g,则显示ga )。

Private Sub Command1_Click()

x = Text1.Text

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

【? 】

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

Case 【? 】

Label1.Caption = UCase(x)

Case "m", "o", "p" To "z"

Label1.Caption = LCase(x)

Case Else

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

【? 】

End Select

End Sub

答案:

1). Select Case x

2). "a", "c", "d" To "f"

3). Label1.Caption = Trim(x) + "a"

〖第15题〗『程序填空』(1分)(题号:494)

' 【程序填空】

' 题目:本程序用辗转相除法求自然数m 、n 的最大分约数和最小公倍数,求最大公约数的算法如下: '(1) 对于己知两数m 、n ,使得m>n;

'(2) m除以n 得余数r;

'(3) 若r=0,则n 为求得的最大公约数,算法结束;否则执行(4)

'(4) m

' 原两数相乘除以最大公约数即为最小公倍数,程序如下:

' 请在【】处填入正确的内容

Private Sub Form_Click()

Dim m%, n%, mn%

n = Val(InputBox("n="))

m = Val(InputBox("n="))

If n

MsgBox "数据出错"

Exit Sub

End If

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

【? 】

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

If 【? 】 Then

t = m

m = n

n = t

End If

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

Do While 【? 】

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

【? 】

m = n

n = r

Loop

Form1.Print "最大公约数="; m

Form1.Print "最小公倍数="; mn / m

End Sub

答案:

1). mn=n*m 或 mn=m*n

2). n>m 或 m

3). n 0 或 0 n

4). r = m Mod n

〖第16题〗『程序填空』(1分)(题号:53)

' 【程序填空】

题目:下面的程序实现:从键盘输入一个数字,将其插入一个

' 有序数组中,插入后的数组仍保持有序。

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**********

【? 】

i = 8

Do While a(i) > x

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

【? 】

i = i - 1

Loop

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

If i > 0 Then 【? 】

For i = 1 To 9

Print a(i);

Next i

End Sub

答案:

1). a(0) = x

2). a(★i ★+★ 1★) = a(i)

3). a(★i ★ +★ 1★) = x

〖第17题〗『程序填空』(1分)(题号:518)

' 【程序填空】

'' 题目:将字符串S1反向输出

' 请在【】处填入正确的内容

Private Sub Command1_Click()

Dim s1 As String, s2 As String

s1 = "abcdef"

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

Call Invert(【? 】, s2)

Print s2

End Sub

Private Sub Invert(ByVal xstr As String, ystr As String)

Dim tempstr As String

Dim i As Integer

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

i = 【? 】

Do While i >= 1

tempstr = tempstr + Mid(xstr, i, 1)

i = i - 1

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

【? 】

ystr = tempstr

End Sub

答案:

1). s1

2). Len(xstr)

3). Loop

〖第18题〗『程序填空』(1分)(题号:38)

【程序填空】

题目:下面的程序段,用于实现在一个nXm 的矩阵中,找出值最

' 大的元素所在的行和列,并输出其值及行号和列号。

Private Sub Form_Click()

Dim mat() As Integer

Dim n, m As Integer

n = Val(InputBox("请输入矩阵的行数"))

m = Val(InputBox("请输入矩阵的列数"))

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

【? 】

For i = 1 To n

For j = 1 To m

mat(i, j) = InputBox("请输入数组元素值")

mat(i, j) = Val(mat(i, j))

Next j

Next i

Print "所建立的矩阵为"

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

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

If 【? 】 Then

Max = mat(i, j)

col = j

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

【? 】

End If

Next j

Next i

Print

Print "矩阵最大的元素的值为:"; mat(row, col)

Print "它所在的行号为:"; row; "列号为:"; col

End Sub

答案:

1). ReDim mat(n, m) As Integer

2). Max Max

3). row = I〖第26题〗『程序填空』(1分)(题号:529)

19【程序填空】题目:窗体上建立了两个文本框Text1(输入字符串) 及

' Text2(转换结果) ,一个命令按钮Command1("清除") 。

' 录入Text1内容时将,将录入内容大写字母转为小写,

' 小写转为大写

请在【】处填入正确的内容

Private Sub Command1_Click()

Text1.Text = ""

Text2.Text = ""

Text1.SetFocus

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim s As String * 1

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

s = 【? 】(KeyAscii)

Select Case s

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

Case "A" 【? 】 "Z"

s = LCase(s)

Case "a" To "z"

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

s = 【? 】

Case Else

s = "*"

End Select

Text2.Text = Text2.Text + s

End Sub

答案:

1). Chr

2). To

3). UCase(s)

〖第20题〗『程序填空』(1分)(题号:508)

【程序填空】

题目:用Circle 方法在图片框中正中画出许多不同颜色的同心圆,

' 且不能画出图片框?

' 请在【】处填入正确的内容

Private Sub Picture1_Click()

Dim CX, CY, Radius, Limit

ScaleMode = 3

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

CX = 【? 】

CY = Picture1.ScaleHeight / 2

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

If CX > CY Then Limit = CY Else 【? 】

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

For Radius = 0 To 【? 】

Picture1.Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255) Next Radius

End Sub

答案:

1). Picture1.ScaleWidth / 2

2). Limit = CX 3). Limit

〖第21题〗『程序填空』(1分)(题号:52)

【程序填空】

' 题目:下面的程序段用于打印出以下图形

'

' *

' ***

' *****

' *******

' *****

' ***

' *

'-------------------------------------------------------

Private Sub Form_Click()

Dim i%, j%, k%

For i = 0 To 3

For j = 0 To 2 - i

Print " ";

Next j

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

For k = 0 To 【? 】

Print "*";

Next k

Print

Next i

For i = 0 To 2

For j = 0 To i

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

【? 】

Next j

For k = 0 To 4 - 2 * i

Print "*";

Next k

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

【? 】

Next i

End Sub

答案:

1). 2★ *★ i★+★1

2). Print " ";

3). Print

〖第22题〗『程序填空』(1分)(题号:57)

【程序填空】

' 题目:代码功能:求 1!+2!+„„10! 的值。

Private Sub Form_Click()

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

【? 】

s = 1

For I = 2 To 10

t = t * I

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

【? 】

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

【? 】

Print s

End Sub

答案:

1). t = 1

2). s =★ s★ +★ t

3). Next I 或 Next

〖第23题〗『程序填空』(1分)(题号:515)

' 【程序填空】

' 题目:由输入对话框输入n (n 必须为大于零且小于30的自然数),

' 计算下列表达式的值,并在标签框Label1上显示。

' sum=1/2+1/6+ ... +1/(k*(k=1)) (k

' 请在【】处填入正确的内容

'Private Sub Form_Click()

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

n = Val(InputBox("n=", "请输入自然数n(n>0 且n

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

Do While n = 30

n = Val(InputBox("n=", "请重输入"))

Loop

sum = 0

k = 0

Do

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

k =【? 】

sum = sum + 1 / (k * (k + 1))

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

Loop Until k >= 【? 】

Label1.Caption = "Sum=" + Str(sum)

End Sub

答案:

1). Or

2). k + 1 或 1 + k

3). >= n

24、' 【程序改错】

'------------------------------------------------

' 题目:以下程序段用于计算货物运费。设货物运费每吨

' 单价p 元与运输距离s 公里之间有如下关系:

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim w!, s!

Dim p As Currency, t As Currency

w = InputBox("请输入货物重量")

s = InputBox("请输入托运距离")

Select Case s

Case Is

p = 30

'**********FOUND**********

Case Is =100

p = 27.5

Case Is

p = 25

Case Is

p = 32.5

'**********FOUND**********

Case Other

p = 20

'**********FOUND**********

End If

t = p * w * s

Print "总运费:"; t; "元"

End Sub

答案: 1). Case Is

〖第25题〗『程序改错』(1分)(题号: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 "有二个实根" + Str$(root1) + "," + Str$(root2)

Else

Debug.Print "无实根!"

End If

End Sub

答案: 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) 〖第26题〗『程序改错』(1分)(题号:119)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:在下面的程序段中过程pd 可以判断任意三个数能

' 否构成三角形的三边,利用该过程的判定结果,

' 对能构成三角形的计算其面积,构不成的显示"

' 不能构成三角形"

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Option Explicit

Private Sub Form_Click()

'**********FOUND**********

Dim x%, y%, z%, s%, b As Boolean,h as Single

x = InputBox("请输入三角形的边长")

y = InputBox("请输入三角形的边长")

z = InputBox("请输入三角形的边长")

b = pd(x, y, z)

h = (x + y + z) / 2

'**********FOUND**********

If not b Then

s = Sqr(h * (h - x) * (h - y) * (h - z))

Print "三角形面积是"; s

Else

Print "不能构成三角形"

End If

End Sub

'**********FOUND**********

Public Function pd( ) As Boolean

If x > 0 And y > 0 And z > 0 And x + y > 0 And x + z > y And y + z > x Then

pd = True

Else

pd = False

End If

End Function

答案:

1). Dim ★x%★, ★y%★, ★ z%★, ★s! ★, ★b ★ As Boolean★, ★h As Single

2). If b Then

3). Public Function pd(x%, y%, z%) As Boolean

〖第27题〗『程序改错』(1分)(题号:472)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:本程序功能用于将学生学过的单词在列表框中显示出来。现要完成:

' (1)单击" 增加单词" 按钮,将文本框Text1.Text 中的单词添加到列表框

' 中并显示列表框中的单词数;

' (2)单击" 删除单词" 按钮,删除列表框中被选中的项并显示列表框中的单词数;

' (3)单击" 全部清除" 按钮,删除列表框的全部选择项并显示列表框中的单词数;

' (4)单击" 退出" 按钮,结束程序。

' 请修正程序中存在的错误。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Load()

Label1.Caption = "请输入单词"

Label2.Caption = "单词数"

Command1.Caption = "增加单词"

Command2.Caption = "删除单词"

Command3.Caption = "全部清除"

Command4.Caption = "退出"

List1.AddItem "apple"

List1.AddItem "chinese"

List1.AddItem "child"

List1.AddItem "double"

List1.AddItem "park"

List1.AddItem "top"

Text1.Text = ""

Text2.Text = CStr(Me.List1.ListCount)

End Sub

Private Sub Command1_click()

List1.AddItem Text1.Text

Text2.Text = Str(List1.ListCount)

Text1 = ""

End Sub

Private Sub Command2_click()

Dim sy As String

sy = List1.ListIndex

'**********FOUND**********

If sy > 0 Then

'**********FOUND**********

List1.RemoveItem

Text2.Text = Str(List1.ListCount)

End If

End Sub

Private Sub Command3_Click()

'**********FOUND**********

List1.RemoveItem

Text2.Text = CStr(List1.ListCount)

End Sub

Private Sub Command4_click()

End

End Sub

答案:

1). If sy >= 0 Then 或 If 0

2). List1.RemoveItem sy 或 List1.RemoveItem List1.ListIndex

3). List1.Clear

〖第28题〗『程序改错』(1分)(题号:123)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:下面的程序段的功能是:读入八进制数,将其转

' 换成把十进制数

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim oct_num As String

dim length as integer,s as integer,n as integer,i as integer,d as string,j as string oct_num = InputBox("请输入一八进制数")

'**********FOUND**********

length = Length(oct_num)

s = 0

n = 0

'**********FOUND**********

For i = length To 1

d = Mid(oct_num, i, 1)

s = s + d * 8 ^ n

n = n + 1

'**********FOUND**********

Next j

Print "十进制数是:"; s

End Sub

答案: 1). length = Len(oct_num) 2). For i = length To 1 Step -1

3). Next I

〖第29题〗『程序改错』(1分)(题号:458)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:已知自然对数的底数e 的级数表示如下:

' e=1+1/1!+1/2!+1/3!+......+1/n!+.....

' 本程序利用函数过程fact()求e ,其中绝对值小于

' 1E-8的项被忽略。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Function fact(m As Integer) As Single

Dim x As Single, i As Integer

x = 1

For i = 1 To m

'**********FOUND**********

x = i

Next i

fact = x

End Function

Private Sub Form_Click()

Dim e As Single, item As Single

Dim n As Integer

e = 1

'**********FOUND**********

n = -1

Do

n = n + 1

item = 1 / fact(n)

e = e + item

'**********FOUND**********

Loop While item >= 0.01

Form1.Print "e="; e

End Sub

答案:1). x = x * i 或 x = i * x 2). n = 0

3). Loop While item >= 0.00000001 或 Loop While 0.00000001

〖第30题〗『程序改错』(1分)(题号:477)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:用输入对话框输入x, 根据公式(图1)计算对应的y,

' 并在窗体上输出y 的值。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(InputBox("Please input x :", "输入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

答案:1). ElseIf x > 10 Then 或 ElseIf 10

2). y = Sqr(x) + Sin(x) 或 y =★Sqr(x)★+★Sin(x)

3). y = 2 * x ^ 3 + 6

〖第31题〗『程序改错』(1分)(题号:457)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:利用一个计时器、一个标签框和二个命令按钮制作

' 一个动态秒表,单击" 开始" 命令按钮,秒表开始计时,

' 单击" 结束" 命令按钮, 秒表结束计时,并在标签框显

' 示运行时间,如" 运行了0小时2分10秒" 。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Dim x As Long

Dim h As Integer, m As Integer, s As Integer

Private Sub Form_Load()

Form1.Caption = "动态秒表(小时:分:秒)"

Command1.Caption = "开始[&S]"

Command2.Caption = "结束[&E]"

Label1.Alignment = 2

Label1.Caption = "0:0:0"

Timer1.Interval = 1000

Timer1.Enabled = False

x = 0

End Sub

Private Sub Command1_Click()

'**********FOUND**********

Timer1.Enabled = False

End Sub

Private Sub Command2_Click()

'**********FOUND**********

Timer1.Enabled = True

x = 0

Label1.Caption = "运行了" + Str(h) + "小时" + Str(m) + "分" + Str(s) + "秒"

End Sub

Private Sub Timer1_Timer()

x = x + 1

h = x \ 3600

m = (x Mod 3600) \ 60

'**********FOUND**********

s = (x Mod 3600) \ 60

Label1.Caption = Str(h) + ":" + Str(m) + ":" + Str(s)

End Sub

答案: 1). Timer1.Enabled = True

2). Timer1.Enabled = False 3). s = (x Mod 3600) Mod 60

〖第32题〗『程序改错』(1分)(题号:450)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:统计一顺序文件test.txt 中的空格、字母、数字和其它字符个数。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Command1_Click()

Dim s As String, C As String

Dim I As Integer, L As Integer, spac As Integer, character As Integer, digit As Integer, other As Integer

'**********FOUND**********

Open App.Path & "\text.txt" For Output As #1

'**********FOUND**********

Do Until EOF(0)

Line Input #1, s

L = Len(s)

For I = 1 To L

C = Mid(s, I, 1)

If C >= "a" And C = "A" And C

character = character + 1

ElseIf C = " " Then

spac = spac + 1

'**********FOUND**********

ElseIf C >= "0" And C

digit = digit + 1

Else

other = other + 1

End If

Next I

Loop

Close #1

Print "字符个数为:"; character; "数字个数为:"; digit

Print "空格个数为:"; spac; "其它个数为:"; other

End Sub

'

答案: 1). Open App.Path & "\text.txt" For Input As ★1 或 Open "text.txt" For Input As ★1

2). Do Until EOF(1) 3). ElseIf★C >= "0"★And ★C

〖第33题〗『程序改错』(1分)(题号:135)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:程序功能:求1+2+3„„,直到其和超出3000为

' 止,并输入结果。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Cls

Dim i As Integer

Dim s As Single

i = 1

'**********FOUND**********

s =1

Do

'**********FOUND**********

i = i + 2

s = s + I

'**********FOUND**********

Loop s > 3000

Print "从1 到:"; i; "的和是"; s

End Sub

答案: 1). s =0 2). i = ★i ★ +★ 1

3). Loop until s > 3000 或 Loop until 3000

〖第34题〗『程序改错』(1分)(题号: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(n>0 且n

'**********FOUND**********

Do While n > 0 Or n

n = Val(InputBox("n=", "请重输入"))

Loop

sum = 0

k = 0

Do

'**********FOUND**********

k = sum + k

sum = sum + 1 / (k * (k + 1))

'**********FOUND**********

Loop Until k > n

Label1.Caption = "Sum=" + Str(sum)

End Sub

答案:

1). Do While n = 30 或 Do While ★n ★=★30 2). k = k + 1 或 k = 1 + k

3). Loop Until k >= n 或 Loop Until n

〖第35题〗『程序改错』(1分)(题号:468)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:编写一程序,实现对文本框里的文字查找并清除某

' 一字符串,直到文本框中不再存在它。

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Function StringClear(sSource As String, sSearch As String) As String

Dim j As Integer, res As String

'**********FOUND**********

res = sSearch

'**********FOUND**********

Do While Mid(res, sSearch)

j = InStr(res, sSearch)

'**********FOUND**********

res = Left(res, j) & Mid(res, j + 2)

Loop

StringClear = res

End Function

Private Sub Command1_Click()

Dim Searchstr As String

If Text1.Text "" Then

Searchstr = InputBox("Please input the string seach") Text1.Text = StringClear(Text1.Text, Searchstr)

End If

End Sub

答案: 1). res = sSource 2). Do While InStr(res, sSearch)

3). res = Left(res, j - 1) & Mid(res, j + 2)

〖第36题〗『程序改错』(1分)(题号:117)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:下面的程序段用于实现以下功能:建立一顺序文

' 件,存放10名同学的学号和三门功课成绩,显示

' 该文件内所有记录, 并同时显示其总分和平均分

'------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim no%, c1%, c2%, c3%,i as Integer

'**********FOUND**********

Open "c:\2.txt" For Input As #1

For i = 1 To 10

no = InputBox("请输入学号")

c1 = InputBox("请输入数学成绩")

c2 = InputBox("请输入语文成绩")

c3 = InputBox("请输入外语")

Write #1, no, c1, c2, c2

Next i

Close #1

'**********FOUND**********

Open "c:\2.txt" For Output As #1

For i = 1 To 10

'**********FOUND**********

Print #1, no, c1, c2, c3

Print no, c1, c2, c3, c1 + c2 + c3, (c1 + c2 + c3) / 3

Next i

Close #1

End Sub

答案: 1). Open "c:\2.txt" For Output As #1

2). Open "c:\2.txt" For Input As #1 3). Input #1, n0, c1, c2, c3 〖第37题〗『程序改错』(1分)(题号:484)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:使用顺序文件读写方式编写一个简单的记事本应用程序,

' 基本逻辑是:假设在考生目录中有一个名为exam.txt 的文

' 本文件。当点击" 打开" 按钮(Command1)时,程序将exam.Txt

' 文件中的内容显示在文本框(Text1)中,当点击" 新建" 按钮

' (Command2)时,清空Text1中的内容;用户可以在Text1中进行 ' 编辑操作,当点击" 保存" 按钮(Command3)时,将Text1中的内容

' 保存在exam.txt 文件中。当点击" 退出" 按钮(Command4)时关闭本窗体。 '------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Command1_Click()

Dim A As String

Text1 = ""

Open "exam.txt" For Input As #1

Do While Not EOF(1)

'**********FOUND**********

Input #0, A

Text1 = Text1 + A

Loop

'**********FOUND**********

Close #0

End Sub

Private Sub Command2_Click()

Text1 = ""

End Sub

Private Sub Command3_Click()

Open "exam.Txt" For Output As #1

'**********FOUND**********

Input #1, Text1

Close #1

End Sub

Private Sub Command4_Click()

Unload Me

End Sub

答案: 1). Input #1, A 或 Input 1, A

2). Close #1 或 Close 1 3).Write #1, Text1 或 Write 1, Text1 〖第38题〗『程序改错』(1分)(题号:497)

'------------------------------------------------

' 【程序改错】

'------------------------------------------------

' 题目:编程求一个十进制整数n 的各位数字之和,设n 为小于或等于5位的数。 '------------------------------------------------

' 注意:不可增加或删除程序行,也不可以更改程序结构

'------------------------------------------------

Private Sub Form_Click()

Dim N As Integer, Sum As Integer, S1 As String, S2 As String

Dim i As Integer, Ch As String

Sum = 0

N = InputBox("输入整数n")

S1 = Str(N)

'**********FOUND**********

S1 = LTrim(S1)

For i = 1 To Len(S1)

'**********FOUND**********

Ch = Mid(N, i, 1)

'**********FOUND**********

Sum = Val(Ch)

Next i

Print "该整数的各位数之和是:"; Sum

End Sub

答案: 1). S1 = Trim(S1) 2). Ch = Mid(S1, i, 1)

3). Sum = Sum + Val(Ch) 或 Sum =★Sum ★+★Val(Ch)


相关文章

  • 计算机二级上机模拟题
  • 计算机等级考试二级C++模拟试题1上机部分 一.改错题 使用VC6打开考生文件夹下的工程kt6_1,此工程包含一个源程序文件kt6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: Constructor2 Con ...查看


  • 计算机二级上机试题模拟50
  • <五十套> 1. 基本操作题 在考生文件夹下的"samp1.mdb"数据库文件中已建立表对象"tEmployee".请按以下操作要求,完成表的编辑: (1)判断并设置"tEmpl ...查看


  • 计算机二级上机试题模拟44
  • <四十四套> 1. 基本操作题 在考生文件夹下的"samp1.mdb"数据库文件中已建立两个表对象(名为"员工表"和"部门表").请按以下要求,顺序完成表的各种操作: ...查看


  • 计算机等级考试一级上机试题(两套)
  • 非计算机专业计算机等级考试 一级上机考试题 (第一套) 一.汉字录入(请在Word 系统中录入如下内容,25分) 要求:1. 在表格中正确地录入考生姓名和学号. 2. 正确录入表格后的文本,文本中的英文.数字按西文方式:标点符号按中文方式. ...查看


  • 计算机考试的一些区别
  • 国内计算机考试的一些区别 目前许多学生说学习计算机为了考等级.考软考.考IT 认证,这都些什么呢?其实就是目前国内的常见的计算机认证的等级考试.软件水平考试.信息处理技术考试. 一.等级考试 1.该考试是什么性质?由什么机构组织实施? 该考 ...查看


  • 计算机注意事项
  • 1. 建议使用IE6.0及以上版本的浏览器,显示器的分辨率建议设为800*600以上 2. 请关闭浏览器的弹出窗口拦截功能 3. 请确保您的浏览器没有禁用javascript 脚本功能 4. 网上报名成功标志:考生基本信息填报完毕后,获得网 ...查看


  • 理财规划师
  • 理财规划师 理财规划师是指运用理财规划的原理.技术和方法,针对个人.家庭以及中小企业.机构的理财目标,提供综合性理财咨询服务的人员.理财规划要求提供全方位的服务,因此要求理财规划师要全面掌握各种金融工具及相关法律法规,为客户提供量身订制的. ...查看


  • 三个交往工具与实现人才培养目标之间的关系
  • 摘要:1999年6月13日颁布的<中共中央国务院关于深化教育改革全面推进素质教育的决定>指出高等学校的目标,就是要培养学生的全面素质而不是单纯传授某种具体的技能,创新精神和实践能力则是最重要的两种素质:三亚学院人才培养规格中三个 ...查看


  • 数据结构上机考试系统开题报告和英文翻译
  • 毕业设计(论文)开题报告 计算机技术与信息科学 系(院) 届 题 目(中文) 数据结构上机考试系统 (英文)The Data Structure Starts Up Examination System 课题类型 软件设计 课题来源 自选 ...查看


  • 一级计算机基础上级考试注意事项
  • 1.上机抽题后,无法打开考生文件夹中的做题文件,系统总是提示我没有安装相应开发环境? 回答:安装本模拟软件后,考生还需要安装相应的考试环境.如一级考生需要安装Office2010,二级VB 考生需要安装Visual Basic 6.0开发环 ...查看


热门内容