当前位置:首页 > 南京理工大学杜姗姗老师的vb上机作业全集
1.幻影素数 Option Explicit
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer For x = 1 To 9 For y = 0 To 9 For z = 0 To 9 Call sos(x, y, z) Next Next Next End Sub
Private Sub sos(x As Integer, y As Integer, z As Integer) Dim i As Integer, s As Integer, t As Integer s = x * 100 + y * 10 + z t = z * 100 + y * 10 + x For i = 2 To s - 1
If s Mod i = 0 Or t Mod i = 0 Then Exit For Next
If i > s - 1 And s <> t Then Print s, t End Sub
2.计算a+aa+aaa+......+aa...aaa(n个a的和) Option Explicit
Private Sub Command1_Click() Dim a As String, n As Integer a = Text1: n = Text2 Call calculate(a, n)
Text3.Text = calculate(a, n) End Sub
Private Function calculate(x As String, y As Integer) As Long Dim s As Long, i As Integer, b As String For i = 1 To y b = b & x
s = s + CLng(b) Next
calculate = s End Function
3.矩阵的生成与行列上最值的寻找 Option Explicit Option Base 1 Dim n As Integer Dim a() As Integer
Private Sub Command1_Click() Dim i As Integer, j As Integer n = Text1 ReDim a(n, n) For i = 1 To n For j = 1 To n
a(i, j) = Int(11 + Rnd * (89)) Print a(i, j), Next Print Next End Sub
Private Sub Command2_Click()
Dim min As Integer, max As Integer, b As Integer, c As Integer min = a(1, 1)
'找主对角线上最小值 b = 2: c = 1 Do
If a(b, b) < min Then min = a(b, b): c = b b = b + 1
Loop Until b > n
Print \主对角线上的最小元素是a(\'找副对角线上最大值
Dim d As Integer, e As Integer, f As Integer d = 2: e = 1: f = n max = a(1, n) Do
If a(d, n + 1 - d) > max Then max = a(d, n + 1 - d): e = d: f = n + 1 - d d = d + 1
Loop Until d > n
Print \副对角线上的最大元素是a(\End Sub
注:红色字体是我为大家写的备注,有助大家理解
4.生成菱形 Option Explicit
Private Sub Command1_Click()
Dim a As String, b As String, c As String, d As String Dim i As Integer, j As Integer, n As Integer n = Text1.Text
If n Mod 2 = 0 Then
Label1.Caption = \请输入一个奇数\Else
Cls
For i = 1 To (n + 1) / 2 a = \
For j = 1 To ((n + 1) / 2 - i) a = a & \ Next
b = b & \ Print a & b Next
For i = 1 To (n - 1) / 2 c = \
For j = 1 To ((n + 1) / 2 - i) c = c & \ Next
d = d & \ Print d & c Next End If End Sub
5.输入一段字符串,然后统计各个字母出现的频率 Option Explicit Option Base 1
Private Sub Command1_Click() Dim s As String Dim a() As String
Dim i As Integer, j As Integer, k As Integer, n As Integer
s = UCase(InputBox(\请输入一段英文:\不区分大小写)\字母统计\
n = Len(s)
If n = 0 Then Exit Sub ReDim a(n) For i = 1 To n
a(i) = Mid(s, i, 1) Next
For j = 65 To 90 k = 0
For i = 1 To n
If Asc(a(i)) = j Then k = k + 1 End If Next
If k <> 0 Then
List1.AddItem (Chr(j)) & Space(10) & k
End If Next End Sub
Private Sub Command2_Click() List1.Clear End Sub
以上是杜老师留的上机作业,每年的题目都一样。相信大家的界面是可以自己弄好的,我写这些代码是为了帮助那些为vb上机而头疼的童鞋,希望这会对他们有一些帮助。
共分享92篇相关文档