VB 判断该字符串是否是“回文”个位数 + 十位数 + 百位数 = 9
- 格式:doc
- 大小:30.50 KB
- 文档页数:3
西华大学课程考试参考答案 (第3套)
第 3 页共 1 页
考试课程:2005级《高级语言程序设计》VB机试
考试时间:60分钟 试卷总分 100 分
一. 调试程序:(程序存盘文件名Test31.frm、Test31.VBP)(40分)
评分标准:
1. 每个改错点: 7分
2. 正确存盘: 5分
Private Sub Command1_Click()
Dim s As String, c1 As String * 1, c2 As String * 1
Dim i As Integer, flag As Boolean
s = InputBox("请输入一个串", "判断是否是回文")
n = Len(s) '原为n=10
flag = True
For i = 1 To Int(n / 2)
c1 = Mid(s, i, 1) '原为c1=
c2 = Mid(s, n - i + 1, 1)
If c1 <> c2 Then
flag = False '原为flag=
End If
Next i
If flag = True Then '原为if then
MsgBox s & "是回文"
Else
MsgBox s & "不是回文"
End If
End Sub
Private Sub Form_Load()
Form1.Caption = "回文判断" ’或在属性窗口中设 '原空缺
End Sub
二. 编程题参考答案(程序存盘文件名Test32.frm、Test32.VBP)(60分)
评分标准:
1. 文件存盘正确 5分
2. 正确设计界面 5分
3. 正确设计各按钮的可用性 5分
4. 正确设计“产生”按钮的功能 15分
5. 正确排序并输出排序结果 15分
6. 文件操作及结果正确 10分
7. 程序结构清晰、合理 5分 装
订
线
第 3 页共 2 页 参考程序:
Dim n%
Dim a(1 To 30) As Integer
Private Sub Command1_Click()
Dim i%, j%, x%, gewei%, shiwei%, baiwei%
Randomize
n = 30
For i = 1 To n
Do
x = Int(Rnd * 900 + 100)
gewei = x Mod 10
shiwei = (x \ 10) Mod 10
baiwei = x \ 100
If gewei + shiwei + baiwei = 9 Then
a(i) = x
Exit Do
End If
Loop
Next i
j = 1
For i = 1 To n
Picture1.Print Tab(j * 5); a(i);
If j Mod 10 = 0 Then j = 0
j = j + 1
Next i
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
Dim i%, j%
For i = 1 To n - 1
For j = 1 To n - i
If a(j) > a(j + 1) Then
t = a(j)
a(j) = a(j + 1)
第 3 页共 3 页 a(j + 1) = t
End If
Next j
Next i
' "排序后的结果:"
j = 1
For i = 1 To n
Picture2.Print Tab(j * 5); a(i);
If j Mod 10 = 0 Then j = 0
j = j + 1
Next i
Command2.Enabled = False
Command3.Enabled = True
End Sub
Private Sub Command3_Click()
Open "TEST32out.txt" For Output As #1
For i = 1 To n
Print #1, a(i);
If i Mod 10 = 0 Then Print #1, '输出10个数后换行。
Next i
Close #1
End Sub
Private Sub Form_Load()
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = False
End Sub