〖第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
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
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 "矩阵最大的元素的值为:"; 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
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
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
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 "矩阵最大的元素的值为:"; 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
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)