资源描述
Vb经典题型
1,文本出现字符次数最多的字母,及出现的次数
Dim a(1 To 26) As Integer
Dim max As Integer
n = Len(s)
For i = 1 To n
k = Asc(Mid$(s, i, 1))
If (k >= 65 And k <= 90) Then
a(k - 64) = a(k - 64) + 1
End If
If (k >= 97 And k <= 122) Then
a(k - 96) = a(k - 96) + 1
End If
Next
max = 0
For m = 1 To 26
If max < a(m) Then
max = a(m)
End If
Next
Text2 = max
For m = 1 To 26
If a(m) = max Then
l = m
End If
Next
Text1 = Chr(l + 64)
2,打印出菱形
Private Sub Form_Click()
For i = 1 To 5
For j = 1 To 6 - i
Print " ";
Next j
For j = 1 To 2 * i - 1
Print "*";
Next j
Print
Next i
For i = 1 To 4
For j = 1 To i + 1
Print " ";
Next j
For j = 1 To (9 - 2 * i)
Print "*";
Next j
Print
Next i
End Sub
3,最长单词的长度,以该长度最后一次出现的单词是?
Option Base 1
Dim s As String
Private Sub Command1_Click()
Open App.Path & "\in5.dat" For Input As #1
s = Input(LOF(1), #1)
Close #1
End Sub
Private Sub Command2_Click()
'需考生编写
帮我解释一下一下的代码:
Dim s as string
For i = 1 To Len(s)
J = Asc(Mid(s, i, 1))
Select Case J
Case 48 To 57, 65 To 90, 97 To 122
Case Else
Mid(s, i, 1) = "-"
End Select
Next i
J = Len(s) - 1
For i = 1 To J
If Mid(s, i, 1) = "-" And Mid(s, i + 1, 1) = "-" Then
s = Left(s, i) + Right(s, J - i)
J = J - 1
i = i - 1
End If
Next i
s = Left(s, Len(s) - 1)
R = Split(s, "-")
B = R(0)
For i = 1 To UBound(R)
If Len(B) < Len(R(i)) Then B = R(i)
Next i
For m = UBound(R) To 1 Step -1
If Len(B) = Len(R(m)) Then
Exit For
End If
Next
Text1.Text = Len(B)
Text2.Text = R(m)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Open App.Path & "\out5.dat" For Output As #1
Print #1, Text1.Text, Text2.Text
Close #1
End Sub
4,结构类型数据题目
Private Type Recordtype
myname As String * 10
a1 As Integer
a2 As Integer
a3 As Integer
End Type
Dim maxval%, minval%
Private Sub Command1_Click()
'============考生应完成的程序(开始)==============
Dim s As Recordtype
Open "in5.dat" For Random As #1 Len = Len(s)
maxval = 0
minval = 300
For k = 1 To 20
Get #1, , s
sumval = s.a1 + s.a2 + s.a3
If sumval > maxval Then maxval = sumval
If sumval < minval Then minval = sumval
Next k
Close #1
'============考生应完成的程序(结束)==============
End Sub
Private Sub Command2_Click()
Open App.Path & "\out5.dat" For Output As #1
Print #1, maxval%
Print #1, minval%
Close #1
End Sub
Dim a(5, 40)
Private Sub Command1_Click()
Dim ch As String
ch$ = ""
Open App.Path & "\in5.dat" For Input As #1
For i = 1 To 5
For j = 1 To 40
Input #1, a(i, j)
ch = ch & a(i, j) & " "
Next j
ch = ch & Chr(13) & Chr(10)
Next i
Close #1
Text1.Text = ch
End Sub
Private Sub Command2_Click()
'===================考生编写的程序==============
For i = 1 To 5
Max = -100
Sum = 0
n = 0
For j = 1 To 40
If a(i, j) Mod 2 = 0 Then
If Max < a(i, j) Then Max = a(i, j)
Else
Sum = Sum + a(i, j)
n = n + 1
End If
Next j
Label1(i - 1).Caption = Max
Text2(i - 1).Text = Int(Sum / n * 100) / 100
Next i
'================================================
End Sub
Private Sub Command3_Click()
Open App.Path & "\out5.dat" For Output As #1
For k = 0 To 4
Print #1, Label1(k)
Next k
For k = 0 To 4
Print #1, Text2(k)
Next k
Close #1
End Sub
展开阅读全文